看起来 undefined 是 window/global 的一个属性:
我一直认为在JavaScript中 undefined 和 null 一样是一个独特的值。
但是上面的代码(在 Chrome 中测试)让我感到困惑。
有人能解释一下为什么吗?
undefined in window
评估为真,而null in window
评估为false
看起来 undefined 是 window/global 的一个属性:
我一直认为在JavaScript中 undefined 和 null 一样是一个独特的值。
但是上面的代码(在 Chrome 中测试)让我感到困惑。
有人能解释一下为什么吗?
undefined in window
评估为真,而null in window
评估为false
undefined
。虽然你不应该这样做,但是你确实可以这样做。事实上,jQuery中有一些代码会尝试获取真正的未定义值,以防止其他人将其赋值为其他内容。 - slebetmanundefined
值,它“恰好”被用作 window.undefined
属性的值(它被指定为 undefined
,但在某些实现中可以被重新分配)。获取 undefined
值的非常可靠的方法包括 void 0
、(function () {}())
和 var undef;
。我建议在模块模式作用域内使用 var undef = void 0;
。 - Keen