JavaScript中运算符详解(1)
加性操作符之加法操作符
加性操作符包括加法和减法,值在进行加性操作符的时候会自动进行一系列的数据类型转换。
1 如果两个操作符都是数值,执行常规加法运算,如果其中一个是NaN,结果就为NaN。
2.如果有一个操作符是字符串,那么就要应用如下规则:
① 如果两个操作数都是字符串,则讲第二个操作数和第一个操作数拼接起来。
②如果只有一个操作数是字符串,则将另外一个操作数转换为字符串,然后再讲两个字符串拼接起来。
③如果有一个操作数是对象,数值或者是布尔值,则调用他们的toString()方法获取相应的字符串值,然后在应用前面的字符串规则。
<script>
var s=88998+{x:1,y:1};//s的值为88998[object,object]
var s1=898+[2,4,5];//898,2,4,5
function sun(){};
var s2=3+sun;//"3function fun(){}"
</script>
另外可以通过括号来改变运算优先级
加性操作符之减法操作符
减法操作符在执行的时候也会进行数据类型转换,但是是把所有类型的数据先转换为数字类型之后再进行计算,不能直接转数字的就先转成字符串再转换为数字。
<script>
var s=1023-"23";//1000
var s1=1023-true;//1022
var ss=22-[1,2,3];//NaN
var sss=2-function fun(){};//NaN
var ss2="s24"-"s23"//NaN
</script>