首页 > 试题广场 >

void();上面表达式的结果是:

[单选题]

void();

上面表达式的结果是:

  • undefined
  • TypeError
  • null
  • SyntaxError
typeof  1; //'number'
typeof (1);//'number'
typeof (); //SyntaxError 语法错误
void  0; //undefined
void (0);//undefined
void (); //SyntaxError 语法错误
发表于 2017-10-16 11:31:01 回复(6)
void是一元运算符,它出现在操作数之前,操作数可以是任意类型,操作数会照常计算,但忽略计算结果并返回undefined。由于void会忽略操作数的值,因此在操作数具有副作用的时候使用void来让程序更具语义

console.log(void 0); // undefined
console.log(void(0)); // undefined

常见的作用:

1.替代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
2.客户端URL

这个运算符最常用在客户端URL——javascript:URL中,在URL中可以写带有副作用的表达式,而void则让浏览器不必显示这个表达式的计算结果。例如,经常在HTML代码中的<a>标签里使用void运算符

<a href="javascript:void window.open();">打开一个新窗口</a>
3.阻止默认事件 
阻止默认事件的方式是给事件置返回值false
//一般写法
<a href="http://example.com" onclick="f();return false;">文字</a>
使用void运算符可以取代上面写法
<a href="javascript:void(f())">文字</a>

所以答案是A。
编辑于 2017-03-22 20:45:57 回复(14)
答案:D(chrome、firfox以及node环境下测试都是SyntaxError)
void 作为运算符后面接的是表达式,void expression。而void(0)也是被当做void 0。如果直接void(),那么我觉得应该是把void当做函数使用了,但是此时void并没有定义。

发表于 2016-12-23 16:11:12 回复(6)

void 和 typeof 都是一元操作符,应该直接接参数,括号是不需要加的,没有参数加括号会报错

发表于 2019-03-09 00:18:31 回复(0)
chrome中的Console中输入返回是SyntaxError
发表于 2016-12-15 21:03:20 回复(0)

JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。

语法:void (express)   或者 void express

发表于 2017-11-30 10:29:52 回复(0)

SyntaxError当尝试解释语法无效代码时,该对象表示错误。一SyntaxError当JavaScript引擎遇到令牌或解析代码时,不符合语言的语法标记的顺序抛出。


发表于 2017-05-29 18:45:59 回复(0)
void 是一元运算符。就像 +
+();  也会报语法错误的。
发表于 2017-10-29 00:14:46 回复(0)
void(0);//undefined , void(); //SyntaxError 语法错误,两者不一致
发表于 2021-06-02 10:35:07 回复(0)
SyntaxError 语法错误
发表于 2021-09-14 19:48:28 回复(0)
void 0 与void(0)都是undefined
void()报错
发表于 2021-08-15 22:46:42 回复(0)
void是一元操作符,后面必须跟操作数。括号可有可无。空括号说明没操作数
发表于 2021-01-26 23:44:51 回复(0)

亲测,在chrome的console里输入void()出现 Uncaught SyntaxError; 输入void(0)是undefined

发表于 2017-03-01 13:48:33 回复(0)
嗷 想起来了 之前看过一个视频 void 0返回undefined,void()报错 记混了
发表于 2022-10-31 14:41:39 回复(0)
TypeError 是指对象用来表示值的类型非预期类型时发生的错误.这是我们遇到的最常见的错误。Javascript引擎发现了不符合语法规范的代码,会出现此错误。解析期间,JS引擎捕获了此错误。
发表于 2022-04-14 09:16:43 回复(0)
void 是一元运算符,它可以出现在任意类型的操作数之前执行操作数,却忽略操作数的返回值,返回一个 undefined。
发表于 2022-04-05 16:47:16 回复(0)
语法错误
发表于 2021-08-10 15:16:54 回复(0)
void 0; //undefined
void(0);//undefined
void(); //SyntaxError 语法错误
发表于 2022-07-18 11:11:46 回复(0)
Javascript中void 是一个操作符,该操作符指定要计算一个表达式但是不返回值。可以使用void实现a标签在点击时不会发生跳转。也可以采用void0取undefined。void操作符用法 javascript:void (expression) javascript:void expression expression 是一个要计算的 Javascript 标准的表达式。表达式外侧的圆括号是选的。所以void后边必须跟一个表达式。
发表于 2022-06-15 16:05:17 回复(0)
鬼写过这玩意,报错类型几百种,要不我写个报错的,极其稀有的那种,让你做?有意思吗,这种题
发表于 2022-06-08 18:00:38 回复(0)