首页 > 其他分享 >void 作为运算符后面接的是表达式,void expression。而void(0)也是被当做void 0。如果直接void(),那么我觉得应该是把void当做函数使用了,但是此时void并没有定义

void 作为运算符后面接的是表达式,void expression。而void(0)也是被当做void 0。如果直接void(),那么我觉得应该是把void当做函数使用了,但是此时void并没有定义

时间:2023-11-15 23:35:05浏览次数:33  
标签:当做 操作数 console undefined void 运算符 log

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(){

  var undefined = 10; 

  console.log(undefined); 

}

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并没有定义。

标签:当做,操作数,console,undefined,void,运算符,log
From: https://www.cnblogs.com/longmo666/p/17835131.html

相关文章

  • 当作为一个构造函数(带有运算符 new)调用时,Boolean() 将把它的参数转换成一个布尔值,并且
    使用Boolean(value)方法可以强制转换任意值为boolean类型,除了以下六个值,其他都是自动转为true:undefinednull-0+0NaN‘’(空字符串)Boolean(undefined)//falseBoolean(null)//falseBoolean(0)//falseBoolean(NaN)//falseBoolean('')//false使用场景constarr......
  • onclick="javascript:void(0)"就是行内javascript
    给网页添加JavaScript的方式有A使用script标签,将javascript代码写到之间B添加外部javascript文件C使用行内javascriptD使用@import引入javascript文件正确答案:ABCA正确。使用script标签,将javascript代码写到之间,例子:<scriptype="text/javascript">document.write("Hel......
  • js按位运算符(按位或,按位与,按位异或)
    1.按位操作的概念:按位操作为,将数据转化为二进制八位展示/十六位展示后根据条件进行计算的操作2.按位运算符分类:&:按位与|:按位或^:按位异或~:按位非<<:左移运算符>>:右移运算符>>>:无符号右移3.具体讲解:&:按位与 ----将数......
  • go--运算符
    前戏运算符用于在程序运行时执行数学或逻辑运算。Go语言内置的运算符有:算术运算符关系运算符逻辑运算符位运算符赋值运算符其他运算符算术运算符下表列出了所有Go语言的算术运算符。假定A值为10,B值为20。运算符描述实例+相加A+B输出结果30-......
  • Symbol是构造方法,但它不是完整的构造方法,使用Symbol来创建Symbol对象时,不使用new运算
    执行以下程序,下列选项中,说法正确的是()vars1=Symbol('a');vars2=Symbol('a');vars3=Symbol.for('b');vars4=Symbol.for('b');console.log(typeofs1);...①console.log(s1==s2);...②console.log(s3==s4);...③A①式输出结果为Object......
  • Python的运算符
    1.算数运算  +-*///%"//"除"%"余a=20b=3c=a//bd=a%b#20/3=6.....2print(c)print(d)#运行结果62 让用户输入一个数字.判断是否是35的倍数n=int(input("来个数:"))ifn%35==0:print("是35的倍数")else:pri......
  • day03 Java基础——各种运算符
    一、自增自减运算符、Math类publicclassDemo04{publicstaticvoidmain(String[]args){//++--自增,自减一元运算符inta=3;intb=a++;intc=++a;System.out.println(a);System.out.println(a);......
  • 秦疆的Java课程笔记:30 基础 三元运算符及小结
    扩展赋值运算符:+=,-=,*=,/=publicclassDome1{publicstaticvoidmain(String[]args){inta=10;intb=20;a+=b;//相当于a=a+bSystem.out.println("a="+(a));intc=30;intd=15;......
  • SDL2 无法解析的外部符号 main,函数 "int __cdecl invoke_main(void)" (?invoke_main@@
    一、概述在使用VisualStudio+CMake集成SDL2的过程中。运行一个Demo示例出现了以下错误提示无法解析的外部符号main,函数"int__cdeclinvoke_main(void)"(?invoke_main@@YAHXZ) 二、解决办法上面问题的主要原因是程序找不到入口函数因为SDL中自己也定义了......
  • js:可选链运算符(?.)和空值合并运算符(??)
    文档:可选链运算符(?.)https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Optional_chaining空值合并运算符(??)https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing目录1、可选链运算符(?.)2、空值合并运算......