var undefined = 10;
// undefined -- chrome
// 10 -- IE 8
alert(undefined);
复制代码
(function() {
var undefined = 10;
// 10 -- chrome
alert(undefined);
})();
复制代码
MDN 定义: The void operator evaluates the given expression and then returns undefined.javascript
意思是说 void 运算符能够对给定的表达式求值,而且不管后面跟的是什么,都是返回 undefined,因此说不管是void 0 仍是void 1都是能够的,更重要的是void不能被重写。html
当用户点击一个javascript: URI
时,它会执行URI中的代码,而后用返回的值替换页面中的内容,除非返回的事undefined。java
<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>
复制代码
注意,虽然这么作是可行的,但利用 javascript: 伪协议来执行 JavaScript 代码是不推荐的.chrome