当前位置: 首页 > Web前端 > JavaScript

的含义!!(两个感叹号,双感叹号)inJavascript

时间:2023-03-27 16:16:28 JavaScript

使用Javascript时,有时会在变量前加两个感叹号。这是什么意思?在JavaScript中,!代表运算符“不”。如果变量不是boolean类型,变量会自动转成boolean类型,再不行,再二!!可用于将变量转换为相应的布尔值。在什么情况下!在Javascript中有真正的价值吗?在什么情况下!在Javascript中有真正的价值吗?当变量转换为布尔值true时为true!Javascript中如何将各种类型转换为boolean值?我们至少可以认为undefined和null一定要转为false,数字0也一定是false。那么,空字符串、空数组和空对象呢?别着急,下面的实验会有明确的答案。首先,定义三个转换布尔值的函数。后面我们会看到这三个函数是等价的,同时输出三个函数的转换结果。函数trueOrFalseIf(toTest){if(toTest){返回真;}else{返回错误;}}functiontrueOrFalseDouble(toTest){return!!toTest;}functiontrueOrFalseBoolean(toTest){returnnewBoolean(toTest);}functionprint(toTest){document.write(trueOrFalseIf(toTest)+","+trueOrFalseDouble(toTest))+","+trueOrFalseBoolean(toTest)+"
");}测试undefined,null,空串"",负0,正0,不确定值NaN,booleanfalseandbooleantrue,string"0",number1,numberInfinity,string"true",string"false",空数组[],空对象{},functionfunctiontest(){vartoTestArray=[undefined,null,"",-0,0,NaN,false,true,"0",1,Infinity,"true","false",[],{},function(){}];for(vari=0;i