这里的问题是当我尝试添加"2"+"2"-"2"浏览器控制台时,我得到结果为20."2"+"2"返回"22"(字符串),但"2"+"2"-"2"返回20(数字).有人能解释为什么会这样吗?如何将字符串转换为数字?
在javascript中:
+ 运算符可以追加字符串或执行数字运算
但是 - */只能在数值上执行
var a = "2";
var b = "2";
var c = "2";
var temp1 = a+b;
console.log("After + --> ",typeof(temp1) , temp1 );
var temp2 = temp1-c;
console.log("After - --> ",typeof(temp2) , temp2 );
var temp3 = temp1*c;
console.log("After * --> ",typeof(temp3) , temp3 );
var temp4 = temp1/c;
console.log("After / --> ",typeof(temp4) , temp4 );Run Code Online (Sandbox Code Playgroud)
操作数+操作数=结果
- 如果至少有一个操作数是一个对象,它将被转换为原始值(字符串,数字或布尔值);
- 转换后,如果至少有一个操作数是字符串类型,则第二个操作数转换为字符串并执行连接;
- 在其他情况下,两个操作数都被转换为数字并执行算术加法.
如果两个操作数都是基本类型,则运算符检查是否至少有一个是字符串并执行连接.在其他情况下,它只是将所有内容转换为数字和总和.
对于所有其他运营商:Do Read
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |