【发布时间】:2012-02-28 16:02:44
【问题描述】:
可能重复:
JavaScript === vs == : Does it matter which “equal” operator I use?
例如:
if (c === 0){
//
}
上面ex中的===是什么意思?
【问题讨论】:
标签: javascript dom-events javascript-framework
可能重复:
JavaScript === vs == : Does it matter which “equal” operator I use?
例如:
if (c === 0){
//
}
上面ex中的===是什么意思?
【问题讨论】:
标签: javascript dom-events javascript-framework
a == b 表示a 等于b
a === b 表示a 等于b 并且它们的类型相同
【讨论】:
== 运算符仅检查两个值的等价性,而 === 运算符则更进一步,还断言两个值的类型相同。
2 == "2" // true
同时:
2 === "2" // false
【讨论】:
这是一个示例
<script type="text/javascript">
var y = 0;
if(y == "0"){
document.write("== '0' True <br/>");
}
else{
document.write("== '0' False <br/>");
}
if(y == 0){
document.write("== 0 Number is True <br/>");
}
else{
document.write("== 0 Number False <br/>");
}
if( y === 0){
document.write("=== 0 Number is True <br/>");
}
else{
document.write("=== 0 Number is False <br/>");
}
if(y === "0"){
document.write("=== 0 is True <br/>");
}
else{
document.write("=== 0 is False<br/>");
}
</script>
如果正确的值为0,你会得到
== '0' True
== 0 Number is True
=== 0 Number is True
=== 0 is False
【讨论】:
这是严格的相等运算符,仅当两个操作数相等且类型相同时才返回布尔值 true。假设这些:
a = 2
b = 4
以下示例返回 true:
a === 2
b === 4
此运算符还有一个相反的操作:!== 这是严格不等于运算符,仅当两个操作数不相等和/或类型不同时才返回 true 值。以下示例返回布尔值 true:
a !== b
a !== "2"
4 !== '4'
这里引用的全部内容: http://www.devguru.com/technologies/ecmascript/quickref/comparison_operators.html
【讨论】:
它检查c 是否等于数字 0。 === 是严格相等运算符。它不会尝试强制输入操作数。
例如:
0 == false; //true (false coerces to 0)
0 === false; //false (no type coercion)
【讨论】: