嗨,我有一个JavaScript代码,这样期间减法
var a=10;
var b="100";
document.write(b-a);
其实它应该显示当我们减去一个字符串的数字,但它显示为90的输出,但是当我们做了一个错误的Javascript意外的行为b + a它将10010显示为输出,这是什么行为。
嗨,我有一个JavaScript代码,这样期间减法
var a=10;
var b="100";
document.write(b-a);
其实它应该显示当我们减去一个字符串的数字,但它显示为90的输出,但是当我们做了一个错误的Javascript意外的行为b + a它将10010显示为输出,这是什么行为。
当你减,由于没有为String定义的-
操作,因此Javascript尝试将字符串b
转换为Number。
当您使用+
符号时,Javascript会尝试将数字a
强制转换为字符串,因为+
被定义为字符串的拼接。
的-
运营商在JavaScript只适用于数学,所以你的瓦尔都转换成数字。如果您尝试执行无效的数学运算,您将只会收到错误(或更具体地说是NaN
),例如100 - 'a'
。该+
运营商都有效字符串和数字,所以它的行为的变化:
谢谢很好的解释... – Prabhavith 2012-03-19 07:18:06