我如何在JavaScript中定义undefined?

时间:2015-02-04 19:11:10

标签: javascript

这种IIFE技巧可以解决那些已经定义undefined的人。它是这样的:

(function (undefined) {
    // ...
})();

我如何成为这个人?甚至可以定义undefined了吗?

如果我打开我的控制台(FF或Chrome),它将看起来像这样:

undefined = 5  // => 5
undefined      // => undefined

2 个答案:

答案 0 :(得分:1)

您无法在现代浏览器中为未定义值分配值。

答案 1 :(得分:0)

我同意 - 没有办法定义它。我将尝试解释原因:

console.log(Object.getOwnPropertyDescriptor(window,"undefined"))

当然会打印以下内容:

Object {value: undefined, writable: false, enumerable: false, configurable: false}

根据MDN,如果属性writablefalse,那么您无法更改它。很明显,不是吗?

如果您尝试更改范围(在函数内部执行),您将成为范围的所有者,也许您可​​以根据需要定义名称。但就你window范围而言 - 没办法。