相关疑难解决方法(0)

应该在JavaScript比较中使用哪个等于运算符(== vs ===)?

我正在使用JSLint来完成JavaScript,并且在执行诸如比较语句内部之类的事情时,它会返回许多建议来替换==(两个等号)===(三个等号).idSele_UNVEHtype.value.length == 0if

有没有性能优势,以代替=====

任何性能改进都会受到欢迎,因为存在许多比较运算符

如果没有进行类型转换,是否会有性能提升==

javascript equality operators equality-operator identity-operator

5666
推荐指数
41
解决办法
171万
查看次数

在JavaScript中,为什么"0"等于false,但是当'if'测试时它本身并不是假的?

以下显示"0"在Javascript 中为false:

>>> "0" == false
true

>>> false == "0"
true
Run Code Online (Sandbox Code Playgroud)

那么为什么以下打印"ha"

>>> if ("0") console.log("ha")
ha
Run Code Online (Sandbox Code Playgroud)

javascript boolean

224
推荐指数
6
解决办法
16万
查看次数

为什么if("string")将"string"评估为true,但if("string"== true)不是?

给出以下代码:

if ("string") {
    console.log('true!');
}
//logs "true" to the console
if ("string"==true) {
    console.log('true!');
}
//doesn't log anything
Run Code Online (Sandbox Code Playgroud)

为什么会这样?我以为"string"是被转换成一个数字,就像布尔一样.因此true变得1"string"NaN.第二个if语句有意义,但我不明白为什么第一个语句会导致内部循环被评估.这里发生了什么?

javascript

35
推荐指数
2
解决办法
2万
查看次数