除了字符串外,当对非Number类型的值进行运算时,会将这些值先转换为Number,然后再运算
var a = 1;
result = a + 1;
result = 456+789;
result = true + true;
result = true + 1;
result = 2 + null;
任何值和NaN做运算都得NaN
result = 2+ NaN;//NaN
多个字符串相加,直接拼串成一个字符串
result = "123" + "345";//123456
任何值和字符串做加法运算,都会先转换为字符串,做拼串操作
可以利用这一特点,来将任意的数据类型转换为String,只需要在任意的数据类型后+一个""。这是一种隐式的类型转换,由浏览器自动完成,实际上也是调用toString()。
result = 2 +"hello";
result = 2 + "12";
result = true + "1";
// 注意运算顺序
result = 1+2+"3";//33
result = "1"+2+3;//123
console.log(result);
var c = 11;
c = c + "";
console.log(c);
console.log(typeof c);
除了字符串中的加法外,其余运算都是将非Number转化为Number运算
可以利用这一特点,做隐式转换
可以为一个值 -0 *1 /1 来将其转换为Number
r = 100 - "1";
r = 100 * false;
r = 100 / "3";
r = 100 % 3;
r = 100 * undefined;
r = 100 - null;
r = 100 *1;
console.log(r);