var x = 10 + Number(“ 1” +“ 6”); console.log(x);
返回:26
var y = 10 +1 + 6; console.log(y);
返回:17
答案 0 :(得分:4)
您要在Number(...)
中一起添加两个字符串:
"1" + "6" = "16"
因此,该行基本上可以归结为:
var x = 10 + Number( "16" )
> 26
答案 1 :(得分:0)
在您的第一个示例中,Number(“ 1” +“ 6”),“ 1”和“ 6”作为字符串求值(由于引号)。当JS添加字符串时,它将它们串联起来,因此“ 1” +“ 6”变成“ 16”,就像“ Hello” +“ world”变成“ Hello world”一样。
在第二个示例中,所有数字都被视为数字,因此可以按预期添加它们。
答案 2 :(得分:0)
“ 1” +“ 6” =“ 16”:2个字符串的串联 Number(“ 1” +“ 6”)= Number(“ 16”)= 16
10 + 16 = 26
let x = 10 + Number("1") + Number("6"); //for x to equal 17
这是一个我用来对数字求和的函数,无论参数是数字还是字符串(如果任何参数不是数字,则返回null)
function sumNumbers(){
let result = 0;
for(arg of arguments){
let nArg = Number(arg);
if(isNaN(nArg)){
return null;
};
result+=nArg;
}
return result;
}