JavaScript中==和==之间的区别是什么?我也见过!=和!==操作员。还有更多这样的运营商吗?
==和!==是严格的比较运算符:
JavaScript同时具有严格和类型转换相等比较。为了严格相等比较的必须具有相同的类型,并且:当两个字符串具有相同的字符、相同长度和相同字符在相应位置。两个数字在数值上相等时是严格相等的相同的数值)。NaN不是等于任何东西,包括NaN。正负零相等彼此之间。如果两个布尔操作数都为真或两者都是错误的。如果两个对象引用同一对象,则它们严格相等。Null和未定义的类型是==(但不是==)。[即(Null==未定义)为真,但(Null===未定义)则为假]
比较运算符-MDC
看看这里:http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html
3个等号表示“没有类型强制的平等”。使用三重相等,值的类型也必须相等。
0 == false // true
0 === false // false, because they are of a different type
1 == "1" // true, automatic type conversion for value only
1 === "1" // false, because they are of a different type
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false
推荐文章
- 如何在Typescript中解析JSON字符串
- Javascript reduce()在对象
- 在angularJS中& vs @和=的区别是什么
- 错误"Uncaught SyntaxError:意外的标记与JSON.parse"
- JavaScript中的querySelector和querySelectorAll vs getElementsByClassName和getElementById
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError:
- [].slice的解释。调用javascript?