【问题标题】:What is "void 0"? [duplicate]什么是“空0”? [复制]
【发布时间】:2014-04-29 15:54:41
【问题描述】:

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

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

此功能已添加到Object.prototype
我不太明白三元表达式末尾的void 0。有人可以向我解释吗?

谢谢。

【问题讨论】:

标签: javascript


【解决方案1】:

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

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

_this[i] !== undefined;

Jsfiddle Demo

【讨论】:

【解决方案2】:

void 0 是一种获得undefined 的方法,不会失败。一些浏览器允许覆盖undefined 变量,但你不能覆盖void

【讨论】:

    猜你喜欢
    • 2011-11-19
    • 2011-05-04
    • 2012-01-07
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    相关资源
    最近更新 更多