void 作为运算符后面接的是表达式,void expression。而void(0)也是被当做void 0。如果直接void(),那么我觉得应该是把void当做函数使用了,但是此时void并没有定义。
void();
上面表达式的结果是:
A
undefined
B
TypeError
C
null
D
SyntaxError
正确答案:D
typeof 1; //'number'
typeof (1);//'number'
typeof (); //SyntaxError 语法错误
void 0; //undefined
void (0);//undefined
void (); //SyntaxError 语法错误
也就是说错的不是void,而是后面的操作数不能为()
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(){
}
console.log(test());//所有浏览器下都是10
2.客户端URL
这个运算符最常用在客户端URL——javascript:URL中,在URL中可以写带有副作用的表达式,而void则让浏览器不必显示这个表达式的计算结果。例如,经常在HTML代码中的标签里使用void运算符
3.阻止默认事件
阻止默认事件的方式是给事件置返回值false
//一般写法
文字
使用void运算符可以取代上面写法
答案:D(chrome、firfox以及node环境下测试都是SyntaxError)
void 作为运算符后面接的是表达式,void expression。而void(0)也是被当做void 0。如果直接void(),那么我觉得应该是把void当做函数使用了,但是此时void并没有定义。
更多关于void的知识点,请看
https://mp.weixin.qq.com/s/AUQ6Awer7wGCQ2yFg3EyrA
__EOF__

本文链接:https://www.cnblogs.com/longmo666/p/17835131.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)