美文网首页
void 0 是什么意思

void 0 是什么意思

作者: pipu | 来源:发表于2019-12-04 08:16 被阅读0次

void 0是什么意思

void[MDN]是一个预留关键字,接受一个参数并且总是返回undefined

例子
void 0
void (0)
void "hello"
void (new Date())
//all will return undefined
关键点是什么?

通过定义它看上去很鸡肋,如果总是返回undefined,仅使用undefined本身有什么问题?

在一个完美的环境中我们可以安全的只使用undefined,它相比于void 0更加简单和易于理解。但是有一点你原来没有注意过,这里并不是一个完美的环境,尤其是对于Javascript来说。

使用undefined的问题在于undefined不是一个保留关键字(它实际是一个全局对象的属性[wtfjs])。由此看来,undefined是可以当做变量名,所以你可以任意给它分配新的值。

alert(undefined); //alerts "undefined"
var undefined = "new value";
alert(undefined) // alerts "new value"

注意: 在支持ECMAScript5或更高版本的环境中将不再存在这个问题(实际是出了ie8以外所有的浏览器),这些环境中将undefined定义为全局对象上的一个只读属性(因此你仅仅可以在你的局部作用域里面覆盖它的值)。然而,下面的信息对于向后兼容仍有用处:

alert(window.hasOwnProperty('undefined')); // alerts "true"
alert(window.undefined); // alerts "undefined"
alert(undefined === window.undefined); // alerts "true"
var undefined = "new value";
alert(undefined); // alerts "new value"
alert(undefined === window.undefined); // alerts "false"

void,一方面,不可以被覆盖。void 0将总是返回undefined。而另一方面undefined可以是人任意的Javascript同志想让他变成的东西。

为什么void 0特殊?

为什么我们使用void 00有什么特殊的?我们不可以一样简单的使用1,或者42,或者1000000或者"hello world!"?

答案是肯定的,对,我们可以,一样会起作用。使用0代替其它参数唯一的好处是0本身简短和惯用。

为什么仍有意义?

虽然undefined在现在的Javascript环境中通常可以被信任,但是void 0还有一点小的优点:比较简短。该差异不足以在写代码过程中的引发担忧,但是它将增加相当多的额外代码,因此大多数代码压缩工具使用void 0替代undefined来减少想浏览器反送的数据。

相关文章

  • void 0 是什么意思

    void 0是什么意思 void[MDN]是一个预留关键字,接受一个参数并且总是返回undefined。 例子 关...

  • Javascript中的void操作符

    来自:原文 void 0 究竟是什么值,这个很容易测试: 似乎void 0就是undefined了,但这样不够严谨...

  • VOID 0

    void 0 void 关键字,该void 运算符能对给定的表达式进行求值,然后返回 undefined。 voi...

  • void 0

    学习underscore.js的时候,发现源码中经常出现类似下面的代码: if(context ===void0)...

  • void 0

    使用void 0取代undefined 执行expression 并且返回undefined不实用undefine...

  • javascript中的void

    无论void后的表达式是什么,void操作符都会返回undefined. void 0常被用来代替undefine...

  • 函数指针、指针函数void (*b[10]) (void (*)

    请问下面这条语句是什么意思? void (*b[10]) (void (*)()) 如果你可以看懂这条语句的含义,...

  • javascript:void(0)

    我们经常会使用到 javascript:void(0) 这样的代码,那么在 JavaScript 中 javasc...

  • 【JavaScript】void 0

    void是javascript的关键字,对表达式进行求值,返回值是undefined,所以void 0 === u...

  • javascript:void(0)

    javascript:void(0) 中最关键的是 void 关键字, void 是 JavaScript 中非常...

网友评论

      本文标题:void 0 是什么意思

      本文链接:https://www.haomeiwen.com/subject/knrkgctx.html