==运算符如何转换JS中的数据类型?

时间:2015-04-18 13:13:40

标签: javascript types

var number = 2;
var string = '2';
if (number == string){
    return true;
}

上面的代码将返回true。我想知道==运算符是如何工作的。它会将整数转换为字符串,然后进行比较或对位吗?

3 个答案:

答案 0 :(得分:0)

==运算符确实会更改数据类型。  我们可以在JavaScript中使用parseInt作为数字,toString作为字符串

如果我们比较它总是返回false: -

var number = parseInt("2");
var string = '2';
var str=string.toString;
if (number == str){
   return TRUE;
}else{
   return FALSE;
}

答案 1 :(得分:0)

你必须在使用parseInt函数时定义基数并使用===来比较严格的相等性:

var number = parseInt('2', 10);
var string = '2';
return (number === string);

答案 2 :(得分:0)

  

我想知道==运算符是如何工作的。它会将整数转换为字符串,然后进行比较或相反吗?

不,它会将字符串转换为数字,然后进行比较。

如果需要,您可以阅读规范中的确切Abstract Equality Algorithm