==和===有什么区别?
答
===就像==一样,只是数据类型不转换。所以当且仅当表达式和它们的类型相等时结果才是真的。
例如:
var string1:String = "5";
var num:Number = 5;
然后string1 == num
是真实的,但string1 === num
是假的。
因此,===通常被认为是“更严格”。参见:http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000686.html
答
这是比较严格的。它将检查是否不仅值,而且类型是否匹配。例如,1 == true
将返回true,而1 === true
将返回false,因为它们具有不同的类型。
答
==
非严格平等检验,而===
检验严格平等。严格平等意味着比较表达式的数据类型必须匹配。
下面是从documentation一些例子:
s1 = new String("5");
s2 = new String("5");
s3 = new String("Hello");
n = new Number(5);
b = new Boolean(true);
s1 == s2; // true
s1 == s3; // false
s1 == n; // true
s1 == b; // false
s1 === s2; // true
s1 === s3; // false
s1 === n; // false
s1 === b; // false
s1 !== s2; // false
s1 !== s3; // true
s1 !== n; // true
s1 !== b; // true
与`===`相等的东西比发现与== ==相等的东西更加平等。 – FrustratedWithFormsDesigner 2011-02-11 21:26:04