2019独角兽企业重金招聘Python工程师标准>>>
ps:记录自己不是特别清楚的部分
加号
tip1、如果两个操作数都是字符串就拼接
tip2、如果有一个是字符串则另外一个操作数转换成字符串然后在拼接
tip3、如果一个操作数是对象、数值或者boolean则调用它们的toString()方法在按照上面的规则来
tip4、如果有一个操作数为null而另外一个为数值则把null转换成0在做运算
tip5、如果有一个操作数为undefined另一个为数值则返回NaN
tip6、如果有一个操作数为null而另外一个为非数值则null调用String()方法转成字符串在做拼接
tip7、如果有一个操作数为undefined另一个为非数值则undefined调用String()方法转成字符串在做拼接
举例子
console.log(5undefined)//NaNconsole.log("5"undefined)//5undefinedconsole.log(5null)//5console.log(5null)//5null
减号
tip1、如果一个操作数为字符串、boolean、null、undefined则先调用Number()将其转换为一个数值在做减法运算如果转换的结果是非数值的则最终结果为NaN
tip2、如果一个操作数是对象则调用其valueOf()方法如果转换的结果为非数值的 则最终结果为NaN 如果对象没有valueOf() 方法则调用toString()方法转换成字符串在将字符串转成数值在做运算
大概举几个例子
console.log(5-undefined)//NaNconsole.log("5"-undefined)//NaNconsole.log(5-null)//5console.log(5-null)//5
转:https://my.oschina.net/u/3407699/blog/1647513