undefined和void
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了undefined和void相关的知识,希望对你有一定的参考价值。
1.undefined
undefined在js中并不是关键字/保留字,因此在IE5.5~8中可以对undefined赋值,但是在IE9以上,对其赋值是无效的
<script> var a= undefined; undefined = 1; console.log(a); console.log(undefined); console.log(typeof a); console.log(typeof undefined); </script>
在IE 6,7,8中的结果为:
undefined
1
undefined
number
在IE 9以上以及其他浏览器中
undefined
undefined
undefined
undefined
2.void的行为特点
1.不管void后面的操作数是什么,void都返回纯正的undefined;
2.void会对后面的操作数作一次取值操作,如果后面是一个getter函数,则执行一次getter函数
<script> var article = { _view: 0, get view(){ console.log(this._view); return this._view++; } }; var test = void article.view; // 执行一次getter函数,输出0并返回undefined console.log(test); // 显示undefined console.log(article._view); // 显示1 var test = delete article.view;//delete不会执行getter函数,删除成功返回true,否则返回false console.log(test); //显示true console.log(article._view); // 显示1 console.log(article.view); //显示undefined </script>
以上是关于undefined和void的主要内容,如果未能解决你的问题,请参考以下文章
22."javascript:;" 和 "javascript:void" 有区别?
[JavaScript] void 0 与 undefined
[异常解决] Keil安装好nRF51822开发环境,运行DEMO报错:Error:“GPIOTE_CONFIG_NUM_OF_LOW_POWER_ENVENTS” is undefined(代码片段