首页 > 代码库 > javascript: 和 javascript:void(0); 解析

javascript: 和 javascript:void(0); 解析

在阅读很多html代码中我们经常能够看到代码中包含javascript:和javascript:void(0),下面将分别介绍这两者的含义。

  1. javascript: 
    • javascript:是浏览器的一个URI伪协议, 浏览器当遇到javascript开头的URI时,浏览器会计算javascript:后面的代码值,并替换当前页面的值为代码的返回值,这就是为什么我们打开浏览器在地址栏输入:javascript:alert(2+2)会弹出一个内容为4的对话框的原因。
  2. javascript void
    • void 是javascript 中的一个操作符,它是个一元操作符,出现在操作数之前,具体形式有如下两种:
      1 // 一下两者是等价的2 void (expression)3 void expression

      void 操作符的特性是跟在其后面的expression会被执行,但是void操作的运算结果会返回undefined.这样就达到了既执行了expression中的操作,同时又返回undefined的目的。

  3. javascript void(0);

    • 前面讲到void 操作符能够返回undefined,在浏览器中如果一个url为undefined那么浏览器将不做任何操作,这样就起到了防止浏览器刷新的目的,而void(0)是最简单的获取undefined的方式。所以如果我们将a标签定义为只是一个按钮的功能,而不是导航的功能的时候如果我们不阻止浏览器导航到新的页面或者刷新自身页面,那么将不能起到按钮的作用,这个时候我们就需要将a标签的href定义为javascript:void(0);来阻止浏览器刷新当前页面。  

javascript: 和 javascript:void(0); 解析