javascript中哪些情况下1不等于"1"?

JavaScript011

javascript中哪些情况下1不等于"1"?,第1张

当把"1"直接参加到除加法之外的其他数学运算(如减、乘、除、乘方、开方等)时,javascript会自动把"1"转换为1再进行计算,因此在这种情况下"1"是等于1的。比如:

alert(2-"1") //结果为1;

alert(2*"1") //结果为2;

alert("1"/2) //结果为0.5

但如果把"1"参加到加法运算中,则一律按字符串连接处理,也就是说这个时候"1"是不等于1的。比如:

alert(2+"1") //结果为"21"

alert("1"+2) //结果为"12"

alert("1"+"2") //结果为"12"

你可以试试看这个:

var a = 1

var b = '1'

alert(a===b)//为false

这是因为,双等号的话,会有一个类型的转换,如果是三等号,那就是类型也必需一样才会返回true的。

如果还有问题的话,你再HI我或Q我(我资料里有写Q号)好了。