JS 中 VAR的问题还真是多多啊

在JavaScript权威指南(中文第六版P58)有一行演示:

var truevar =1;
fakevar = 2;
this.fakevar2 =3;
delete truevar
delete fakevar
delete fakevar2
照书上说,应该分别返回false true true;但是在IE8的调试器上,返回的确是:对象不支持此操作。仔细看看,是删除fakevar2出错。那就先不尝试这一句,结果删除truevar 返回的竟然也是true;并且测试也确实把这个号称为不可删除的全局变量给删除了~

到Chrome下尝试,删除一个var声明的全局变量也完全没有问题。所谓的不可配置从何而来~

function f(){var scope=10;console.log(scope);scope=1000;console.log(window.scope); } f();

chrome下返回10和undefined

function f(){scope=10;console.log(scope);scope=1000;console.log(window.scope); } f();

返回10 和1000

说明在处理作用域的问题上,var还是起到了一定的效果的。

哭连权威指南都这样了~还有没有个靠谱的玩意啊~



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值