jQuery 是一个快速, 简洁的 JavaScript 框架, 本文就来为大家介绍一些 jQuery 中的 === 与 == 有什么区别, 希望对大家有一定的区别.
==, 两边值类型相同时, 等同于 ===; 不同的时候, 要先进行类型转换, 再比较.
===, 不做类型转换, 类型不同的一定不等.
具体分析:
首先 ===, 这相对简单. 以下规则用于确定两个值 === 是否相等:
1, 如果类型不同,[不相等]
2, 如果两者都是数值且值相同, 则 [相等];(! 例外) 是, 如果他们中至少有一个是楠, 那么[不平等].(要判断一个值是否为 isNaN, 只能使用 IsNaN()
3, 如果两者都是字符串, 并且每个位置的字符相同, 则[相等]; 否则[不平等].
4, 如果两个值都为真或假, 则[相等].
5, 如果两个值都为空或未定义, 则[相等].
6, 指类型比较和 "指针地址" 比较. 如果两个值都指同一个对象或函数, 则[相等]; 否则[不平等].
==, 根据以下规则:
1, 如果两个值类型相同, 则执行 === 比较.
2, 如果两个值类型不同, 它们可能是相等的. 根据以下规则执行类型转换和比较:
如果一个为空,, 而另一个未定义, 则[相等], 其他如 "(空字符串), 假和 0 不相等.
如果一个是字符串, 另一个是数值, 将该字符串转换为数值并进行比较.
如果任何值为真, 将其转换为 1 并进行比较. 如果任何值为假, 将其转换为 0 并进行比较.
如果一个是对象, 另一个是基本类型, 将该对象转换为基本类型的值并进行比较. 对象转换为基础类型, 使用其 toString 或 valueOf 方法. JS 核心内置类, 将在 toString 前尝试值; 例外是日期, 它使用 toString 转换.
本文来自 jQuery 答疑 https://www.html.cn/qa/jquery/ 栏目, 欢迎学习!
来源: http://www.css88.com/qa/jquery/16287.html