这种IIFE技巧可以解决那些已经定义undefined
的人。它是这样的:
(function (undefined) {
// ...
})();
我如何成为这个人?甚至可以定义undefined
了吗?
如果我打开我的控制台(FF或Chrome),它将看起来像这样:
undefined = 5 // => 5
undefined // => undefined
答案 0 :(得分:1)
您无法在现代浏览器中为未定义值分配值。
答案 1 :(得分:0)
我同意 - 没有办法定义它。我将尝试解释原因:
console.log(Object.getOwnPropertyDescriptor(window,"undefined"))
当然会打印以下内容:
Object {value: undefined, writable: false, enumerable: false, configurable: false}
根据MDN,如果属性writable
是false
,那么您无法更改它。很明显,不是吗?
如果您尝试更改范围(在函数内部执行),您将成为范围的所有者,也许您可以根据需要定义名称。但就你window
范围而言 - 没办法。