void()表达式结果是SyntaxError

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了void()表达式结果是SyntaxError相关的知识,希望对你有一定的参考价值。

 

 

void是一元运算符,他出现在操作数之前,操作数可以使任意类型,操作数会照常计算,但忽略计算结果并返回undefined。

因此在操作数具有副作用的时候使用void来让程序根据语义

 

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

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

常见的作用:

1.替代undefined

由于undefined并不是一个关键字,其在ie8浏览器中会被重写,在高版本函数作用域中也会被重写;所以可以用void 0来替换undefined。

 

var undefined = 0;

console.log(undefined);//IE8浏览器下为10,高版本浏览器下为undefined。

 

function test(){
    var undefined = 10;
    console.log(undefined);
}    
    console.log(test());//所有浏览器下都是10

 

2.客户端

 

这个运算符最常用的客户端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>

 

所以void()表达式结果是SyntaxError

 

---转载自牛客网---

以上是关于void()表达式结果是SyntaxError的主要内容,如果未能解决你的问题,请参考以下文章

python三元运算符—报错“SyntaxError: can't assign to conditional expression”

SyntaxError:预期的表达式,得到“。”

js中的void

MODX 无限保存 SyntaxError: 预期表达式,得到 '<'

SyntaxError:预期的表达式,得到'<'错误 - vue

SyntaxError: 生成器表达式必须用括号括起来 / python manage.py migrate