你的位置:首页 > Java教程

[Java教程]undefined和void


1.undefined

undefined在js中并不是关键字/保留字,因此在IE5.5~8中可以对undefined赋值,但是在IE9以上,对其赋值是无效的

<script>  var upl = undefined;  undefined = 1;  console.log(upl);  console.log(undefined);  console.log(typeof upl);  console.log(typeof undefined);</script>

在IE5.5~8中:    
undefined
1
undefined
number
 
在IE9以上:
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; // 显示0    console.log(test); // 显示undefined    console.log(article._view); // 显示1    var test = delete article.view;//delete不会执行getter函数    console.log(test);  //显示true    console.log(article._view); // 显示1    console.log(article.view); //显示undefined</script>