Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript算法_Javascript - Fatal编程技术网

Javascript算法

Javascript算法,javascript,Javascript,当我们用一个数字(类型为字符串)减去/乘/除一个数字时,它会将两个变量都视为数字 但是,当我们用一个数字(类型为string)添加一个数字时,它会将第二个变量视为string,并对变量进行concat 比如说 var a=4; var b=“4”; var c; c=a+b; 控制台日志(c) c=a-b; 控制台日志(c) c=a*b; 控制台日志(c) c=a/b; log(c),因为“+”不仅是一个算术运算符,而且是一个“字符串浓缩运算符” 在第一个示例中,连接了两个字符串 在其他示例中

当我们用一个数字(类型为字符串)减去/乘/除一个数字时,它会将两个变量都视为数字

但是,当我们用一个数字(类型为string)添加一个数字时,它会将第二个变量视为string,并对变量进行concat

比如说

var a=4;
var b=“4”;
var c;
c=a+b;
控制台日志(c)
c=a-b;
控制台日志(c)
c=a*b;
控制台日志(c)
c=a/b;
log(c)
,因为“+”不仅是一个算术运算符,而且是一个“字符串浓缩运算符”

在第一个示例中,连接了两个字符串

在其他示例中,字符串强制为数字,然后执行算术运算

有一些步骤可以防止这种情况发生:

var a=4;
var b=“4”;
c=+b+a//8
控制台日志(c);
c=parseInt(b)+a//8
控制台日志(c);
c=b*1+a//8

控制台日志(c)这是因为+运算符也用于字符串连接。如果要转换为数字,可以使用+运算符

var a=4;
var b=“4”;
控制台日志(a+b);

log(a++b)+
中的code>既可以作为ADD操作,也可以作为string concatation操作。执行
a+b
时,a被隐式强制为字符串。而不能对字符串使用其他运算符。因此a被隐式强制为数字,因此数学运算。

这可能对您有用: