JavaScript中 void(0) 的含义

JavaScript中 void (0)的含义

概述

void运算符执行传递给它的语句,然后返回undefined。

语法

void expression

void 运算符通常仅仅被用来获取undefined的原始值,通常用void (0) (等同于void 0)。

我们为什么不直接用undefined呢?

undefined不是一个保留字(在JavaScript的某些环境中是个全局变量)。这也就是说undefined是个可用的变量名,你可以给它任意赋值。例如:

alert(undefined); //alerts "undefined"

var undefined = "new value";

alert(undefined) //alerts "new value"

再看一个在链接中使用的例子:

javascript:URI,执行完uri中的代码,然后用返回的值替换当前页内容,除非返回值是undefined。

<a href="javascript:void(0);">
  //点击不进行任何操作
</a>

<a href="javascript:void(document.body.style.backgroundColor=‘green‘);">
  //点击后背景变成绿色
</a>

所以,你不能安全的使用undefined,它返回的值未必是你预期的那样。而void则不会被覆盖,总会返回undefined。

为什么是void 0,为什么是0其他的不行吗?

其他的值也是可以的,比如1、13、”hello world”。使用0是因为比较短小简洁且符合语言习惯。

参考:

MDN void opter

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void

Stackoverflow的回答

What does ‘void 0’  mean ?

http://stackoverflow.com/questions/7452341/what-does-void-0-mean

时间: 2024-08-25 05:49:47

JavaScript中 void(0) 的含义的相关文章

看看JavaScript中void(0)的含义

JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值. void 操作符用法格式如下:1. javascript:void (expression)2. javascript:void expression expression是一个要计算的 JavaScript 标准的表达式.表达式外侧的圆括号是可选的,但是写上去是一个好习惯.我们可以使用 void 操作符指定超级链接.表达式会被计算但是不会在当前文档处装入任何内容.面的代码创建了一个超级链接,当用户点击以后不

javascript 中 void 0的含义及undefine于void 0区别

undefined是一个全局属性,表示未定义或定义了没有赋值. void是一个一元运算符,不管传入什么参数都会返回undefined.  void操作符是在ECMAScript v1中定义的,而undefined是在ECMAScript v5中定义的. 我们知道undefined不是javascript的保留字,所以我们可以用undefined作为变量名.这时,我们定义的 undefined就会影响到使用undefined作为判断的地方.看下面例子: 测试了主流浏览器IE7-IE11.opera

JavaScript中void 0和undefined

众所周知,Undefined是JS语言中的7大基本类型之一,表示未定义,它的值只有一个,就是undefined.任何变量在赋值前都是undefined. 1 typeof Undefined //"undefined" 而在一些框架源码中,会出现一些这样的表达式: if (context === void 0) return func; function foo() { var a = arguments[0] !== (void 0 ) ? arguments[0] : 2; ret

转:js中javascript:void(0) 真正含义

from:http://www.jb51.net/article/71532.htm 在Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值. 我想使用过ajax的都常见这样的代码: 代码如下: <a href="javascript:doTest2();void(0);">here</a> 但这儿的void(0)究竟是何含义呢? void 操作符用法格式如下: 1. javascript:void (expression) 2.

js中 javascript:void(0)的含义

void(0)用于执行某些处理,但是不整体刷新页面的情况下, javascript:void(0)表示不做任何动作.如: <a href="javascript:void(0);" onclick="alert('ok');"></a> 这里表示这个链接不做跳转动作,执行onClick事件. 我想使用过ajax的都常见这样的代码: <a href="javascript:doTest2();void(0);">

js javascript:void(0) 真正含义

http://www.cnblogs.com/opper/archive/2009/01/12/1373971.html js javascript:void(0) 真正含义 我想使用过ajax的都常见这样的代码:<a href="javascript:doTest2();void(0);">here</a>但这儿的void(0)究竟是何含义呢?Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值.void 操作符用法格式如下:1

javascript:void(0) 真正含义

大家常见这样的代码: <a href="javascript:doTest2();void(0);">here</a> 但这儿的void(0)究竟是何含义呢? Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值. void 操作符用法格式如下: 1. javascript:void (expression) 2. javascript:void expression expression 是一个要计算的 Javascript 标

javascript:void(0)与#整理

window.location.href="/signup/devicelogin.shtml"; 指跳转到引号的url地址 #包含了一个位置信息,默认的锚点#是top,网页的顶端 JavaScript:void(0)    表示一个死链接,点它并不会有什么反应 作用:调到脚本的时候最好用void(0) 在希望求表达式的值,但又不希望脚本的剩余部分看见这个结果时,该运算符最有用. 缺点:可能会引起gif图不动 一般点击链接不做任何事件的有以下3种写法: <a href="

javascript:;与javascript:void(0)使用介绍

有时候我们在编写js过程中,需要触发事件而不需要返回值,那么就可能需要这样的写法 href=”#”,包含了一个位置信息.默认的锚是#top,也就是网页的上端,当连续快速点击此链接时会导致浏览器巨慢甚至崩溃. 当然我们一般用三个 href="###",不过看了这篇文章我们以后就可以使用javascript:;(一个冒号一个分号) javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值. javascript:;好些,javascript:void(0);据说