我知道 的意思===
:它会检查操作数是否相同,所以
1 === '1'
会给false
和1 == '1'
会给true
,
但是typeof 1
isnumber
和typeof '1'
is string
,那么 JavaScript 是如何比较的1 == '1'
呢?是否有任何转换发生?如果有,有哪些?
我知道 的意思===
:它会检查操作数是否相同,所以
1 === '1'
会给false
和1 == '1'
会给true
,但是typeof 1
isnumber
和typeof '1'
is string
,那么 JavaScript 是如何比较的1 == '1'
呢?是否有任何转换发生?如果有,有哪些?
如果类型是数字和字符串,
JavaScript 会将字符串转换为数字。
比较 x == y,其中 x 和 y 是值,产生真或假。如下进行这样的比较:
...
5.如果Type(x)是Number,Type(y)是String,返回比较结果x == ToNumber(y)。6.如果Type(x)是String,Type(y)是Number,返回比较结果ToNumber(x) == y。
使用字符串()
它在进行比较之前将输入转换为字符串。
例子:
var test1= 1;
var test2= "1";
var answer = String(test1) === String(test2);
在这种情况下,答案将等于 true。
您可以1 == parseInt("1")
将字符串解析为整数。