Js中遇到过一些好玩的地方
好玩的小地方
这几天准备实习的笔试,所以在看犀牛书,看的时候发现一些比较有意思的特性,索性就开一个帖子记录一下
+ 关于全局属性定义var变量声明
var foo = 1; //定义一个全局变量
bar = 2; //没有用到var声明
this.baz = 3;//这里this指向全局
//接下来好玩的事情就来了
delete foo;//返回的是false
delete bar;//返回的是true
delete baz;//返回的是true
犀牛书上对此做出了一些解释:
使用var声明的全局的是声明一个全局变量,而全局变量不可删除
后面两个定义的是全局对象的一个属性,而属性是可以删除的此外涉及到作用域链和ECMAScript规范,有兴趣的同学可以去深入理解一下,我是讲不透那些东西.