js中void 是什么意思

_.result = function(object, property) {
if (object == null) return void 0;
这是underscore.js中源码片段,这儿的返回值是什么意思??

void 运算符对表达式求值,并返回 undefined。
用法:
1.javascrīpt:void (expression)
2.javascrīpt:void expression

其实他就是返回了一个 undefined类型,只是程序这样写,我想它返回其他什么标志也是可以的,只要后面能判断_.result就可以了。

具体可以搜搜 js void 看看其中的用法,一般都是让<a>标签不要跳转用的。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-05-07
js中的void后跟一个表达式 void(expression),他会执行这个表达式,然后返回undefined。这里表达式外的括号可以省略。
使用void的主要地方就是a标签,像这样:
<a href = "javascript:void(0);"/>12

这样一来,会让点击后不执行任何操作,且不会刷新页面。
这里不这么写也可以,写成这样:
<a href = "javascript:"/>12

也是相同的效果,不知道第二种有什么弊端。
也有人在代码中使用void 0来代替undefined,因为undefind不是保留字。所以在某些浏览器下,undefind的值可能会被修改。不过这种情况,学习jquery的方法就可以解决。
(function(p1,p2,undefind){})(p1,p2);12

不传第三个参数,那么函数中的undefined就是undefined。
还见过一种在void后写语句的,像这样:
return void expression1,expression2...;12

但是函数不指定return的值的话会默认返回undefined。本回答被网友采纳
第2个回答  2014-03-05
void的字面意思是“无类型”
(1) 对函数返回的限定;
(2) 对函数参数的限定。
第3个回答  2018-05-07

void是JavaScript的运算符, 总是返回undefined;

本题目中的作用就想要返回undefined, 为什么这么用是因为undefined的是一个全局变量, 但是却不是保留关键字, 它可能在非全局作用域中被当作变量名来使用, 这种情况下undefined的将不会是原本期望的含义, 所有使用void 0可以更加安全的返回期望的undefined. 一般库中会这么写, 因为用户会有将undefined用作局部变量的可能性.

参见MDN

第4个回答  2018-05-07
1、在Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。使用 void 操作符指定超级链接。表达式会被计算但是不会当前文档处装入任何内容。
2、通常用在a标签的href属性上,本来a标签的href属性默认没有带链接的都是在地址后面带"#"的,使用了javascript:void();a点击不会有任何反应,因为href="#"这种形式会整体刷新页面,而 href="javascript:void(0)" 则不会。
相似回答