Cla*_*diu 18
以下是javascript必须做的事情===
:
以下是它必须做的事情==
:
请注意,如果Type(x)
等于Type(y)
则操作符执行相同的操作.但是,如果它们不是,则==
可能必须进行各种转换,而===
只返回false.
对于您提供的链接,要比较的类型实际上是相同的,因此两个运算符应该大致相同.这里的差异将基于实现细节 - 因为它们做不同的事情,它们可以以不同方式进行优化.从理论上讲,由于效果===
较差,人们会认为它总是会更快,但对于某些版本的Firefox来说似乎并非如此,至少如果那些基准是准确的话.
但是,如果类型不同,请查看差异.当"hi" === {}
你得到大约6600万运算/秒,但对"hi" == {}
你来说只有大约400万运算/秒.
JavaScript是一种弱类型语言,因此它将尽可能应用类型强制.
等于运算符
// These are true
new Number(10) == 10; // Number.toString() is converted
// back to a number
10 == '10'; // Strings gets converted to Number
10 == '+10 '; // More string madness
10 == '010'; // And more
isNaN(null) == false; // null converts to 0
// which of course is not NaN
Run Code Online (Sandbox Code Playgroud)
严格的平等操作员
它的工作方式与普通的相等运算符类似,只是严格的相等运算符不会在其操作数之间执行类型强制.
"" === "0" // false
0 === "" // false
0 === "0" // false
false === "false" // false
false === "0" // false
false === undefined // false
false === null // false
null === undefined // false
" \t\r\n" === 0 // false
Run Code Online (Sandbox Code Playgroud)
上述结果更加清晰,可以尽早破解代码.这会在一定程度上强化代码,并在操作数不同的情况下提供性能改进.
所以===在Javascript中比==快
这是很好的参考
归档时间: |
|
查看次数: |
3391 次 |
最近记录: |