1. 在 JavaScript中,你们都比较熟悉的 相等操做符 ==,可是 == 并不表示严格的相等。
html
举个例子:咱们比较 false 与 一个空字符串,看看什么结果:
spa
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Test Equal</title> </head> <body> <h1>Let's test it!</h1> <script> var a = false; var b = ""; if (a == b) { alert("a equals b"); } </script> </body> </html>
结果: a equals b ...
code
为何?由于相等操做符 == 认为 空字符串 与 false 的含义相同。要进行严格比较,须要使用另外一种等号:===。这个全等操做符不只会比较 值,并且会比较 变量的类型。htm
一样的,若是比较不等,!== 会进行比较严格的比较。ip