JavaScript和=== ===有什么区别?
可能重复:
Javascript === vs ==:这与我使用的“平等”运算符有关吗?
JavaScript ==何时比===更有意义?
将字符串与未定义的值进行比较时,下面的方法有什么区别?
var x;
if(x==undefined)
{
alert(x);
}
和
if(x===undefined)
{
alert(x);
}
为什么我应该在这种情况下更喜欢第二种方法..请让我知道优点..
==
在测试前尝试将值转换为相同的类型,如果它们相同。 "5" == 5
===
不这样做; 它要求对象是相同类型的。 "5" !== 5
在这种情况下,结果是:
x
undefined
或为null
则x == undefined
将为真。 x === undefined
如果只会是真正的x
是undefined
。 如果您希望将undefined和null等效处理,您应该首选第一种方法。 这个的一个常见用法是可选的函数参数。
function greet(name, greeting) {
if (name == undefined) name = 'World';
if (greeting == undefined) greeting = 'Hello';
alert(greeting + ' ' + name);
}
greet(); // alerts "Hello World"
greet("Bob"); // alerts "Hello Bob"
greet(null, "Goodbye"); // alerts "Goodbye World"
假设我们有x = 5,
==等于
x == 8是假x == 5是真的
===完全等于(值和类型)
x === 5是真的x ===“5”是错误的
希望你了解这个概念
===
检查相同的类型。 你会理解一些例子:
(1 == '1') //Returns true
由于==
不会打扰类型,所以返回true。 然而,如果你想要严格的类型检查,你应该使用===
因为只有当它是相同类型并且是相同的值时它才返回true。
(1 === '1') //Returns false
(1 === 1) //Returns true
位置。
包括NaN。 正和负的零相等。
参考
链接地址: http://www.djcxy.com/p/3251.html上一篇: What is the difference between == and === in JavaScript?