javascript:void(0)

void是一元运算符,它出如今操做数以前,操做数能够是任意类型,操做数会照常计算,但忽略计算结果并返回undefined。因为void会忽略操做数的值,所以在操做数具备反作用的时候使用void来让程序更具语义 
console.log(void 0); // undefined
console.log(void(0)); // undefined
 
常见的做用:
替代undefined
因为undefined并非一个关键字,其在IE8-浏览器中会被重写,在高版本函数做用域中也会被重写;因此能够用void 0 来替换undefined 
var undefined = 10;
console.log(undefined);//IE8-浏览器下为10,高版本浏览器下为undefined
function test(){
    var undefined = 10;
    console.log(undefined);
}
console.log(test());//全部浏览器下都是10

javascript:void(0) 中最关键的是 void 关键字, void 是 JavaScript 中很是重要的关键字,该操做符指定要计算一个表达式可是不返回值。javascript

如下实例中参数 a 将返回 undefined :java

var a,b,c;
  a = void ( b = 5, c = 7 );
  console.log('a = ' + a + ' b = ' + b +' c = ' + c );
//a = undefined b = 5 c = 7

href="#"与href="javascript:void(0)"的区别

# 包含了一个位置信息,默认的锚是#top 也就是网页的上端。浏览器

而javascript:void(0), 仅仅表示一个死连接。函数

在页面很长的时候会使用 # 来定位页面的具体位置,格式为:# + idspa

若是你要定义一个死连接请使用 javascript:void(0) 。code

<a href="javascript:void(0);">点我没有反应的!</a>
<a href="#pos">点我定位到指定位置!</a>
<br>
...
<br>
<p id="pos">尾部定位点</p>
typeof  1; //'number'
typeof (1);//'number'
typeof (); //SyntaxError 语法错误

void  0; //undefined
void (0);//undefined
void (); //SyntaxError 语法错误

void()仅仅是表明不返回任何值,可是括号内的表达式仍是要运行!!!blog

相关文章
相关标签/搜索