17

可能重复:
“javascript:void(0)”是什么意思?
是什么void 0意思?

在文件http://underscorejs.org/underscore.js中,可以看到这样一个代码块:

// Is a given variable undefined?
_.isUndefined = function(obj) {
  return obj === void 0;
};

我不明白这void 0部分,这很奇怪。怎么理解?

4

2 回答 2

13

这是控制台输出

>typeof void 0
"undefined"
>void 0 === undefined
true
>"undefined".length
9
>"void 0".length
6

我认为他们正在尝试保存 3 个字节的文件大小;)

编辑: 这个SO答案更有意义 using void 0,因为undefined它只是window对象的一个​​属性并且是可变的。因此void 0是跨浏览器生成未定义的可信方式

于 2012-07-10T08:32:41.870 回答
8

在 javascript(从 1.1 开始)中,void运算符用于计算表达式并返回undefined

请参阅void 运算符的 ECMAScript 语言规范

void 0正确和标准的生产方式也是如此undefined

因为它是一个运算符,所以不需要括号。

于 2012-07-10T08:36:50.433 回答