什么是“void 0”?

时间:2014-03-22 03:21:47

标签: javascript

我通过阅读一些代码来学习Javascript,但这个功能真的让我很困惑。

    hv:
        function(i) {
            var _this = this;
            return isArr(_this) ? _this.indexOf(i) > -1 : _this[i] !== void 0;
        }

此功能已添加到Object.prototype 我不会在三元表达结束时得到void 0。有人可以向我解释一下吗?

感谢。

2 个答案:

答案 0 :(得分:5)

  

void运算符通常仅用于获取未定义的原始值,       通常使用“void(0)”(相当于“void 0”)。在这些情况下,       可以使用全局变量undefined(假设它尚未分配       到非默认值)。

在这种情况下,可以使用全局变量undefined代替: 即:

_this[i] !== undefined;

Jsfiddle Demo

答案 1 :(得分:2)

void 0是一种让undefined无误的方法。某些浏览器允许覆盖undefined变量,但您无法覆盖void