viod 0是什么?

之前在牛客网上看到别人用viod 0来代替undefined,所以我去网上搜了一下,MDN是这么说的:

这个运算符能向期望一个表达式的值是undefined的地方插入会产生副作用的表达式。
void 运算符通常只用于获取 undefined的原始值,一般使用void(0)(等同于void 0)。在上述情况中,也可以使用全局变量undefined来代替(假定其仍是默认值)。

 这时候我看到viod(0),以前看到不想让a链接跳转的话把href设成javascript:void(0),以前都没考虑过为何要这么写,今天才知道原来void是个运算符。

<a href="javascript:void(0);">
  这个链接点击之后不会做任何事情,如果去掉 void(),
  点击之后整个页面会被替换成一个字符 0。
</a>
<p> chrome中即使<a href="javascript:0;">也没变化,firefox中会变成一个字符串0 </p>
<a href="javascript:void(document.body.style.backgroundColor='green');">
  点击这个链接会让页面背景变成绿色。
</a>

  viod 0 === viod(0)

 

posted @ 2017-12-07 21:15  来亦何哀  阅读(524)  评论(0编辑  收藏  举报