误解了jQuery的“未定义”技巧?

时间:2013-05-13 12:02:54

标签: javascript jquery

jQuery使用这个简单的技巧模式:

(function( $ , window,undefined ) {

alert(window.aaa===undefined); //true

}(jQuery,window))

但是,据我所知,这是因为一个愚蠢的人可能会这样做:

undefined="lalala"

然后这应该失败:

(function( $ , window ) {

alert(window.aaa===undefined);

}(jQuery,window))

but it doesn't。 (它警告真实

我错过了什么?

1 个答案:

答案 0 :(得分:8)

这是因为现代浏览器(例如Google Chrome)可以防止设置undefined的价值:

image

这是在ES5中引入的:

  根据ECMAScript 5规范,

undefined是不可写的。

来源:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/undefined