一:常用运算符
1加号
1.字符串与数字相加结果是字符串拼接
2.任何字符串与NaN和undefined相加减都等于NaN
2.减号
1.减号任意一个数字是字符串的话会先转换成Number类型再计算,如果是除数字之外的字符串的话会是NaN
3.隐式类型转换
1.如alert(null - 10); // -10 会将null/true转换为0,
可以参考ECMAScript
英文 www.ecma-international.org/ecma-262/5.…
中文 www.fengfly.com/document/EC…
4.加减号的隐式转换
如果是其他类型,会经过隐式类型转换
- Boolean会通过Number进行转换,然后变成一个数字类型
- Null 会通过Number进行转换,然后变成一个数字类型
- Undefined 会通过Number进行转换,然后变成一个数字类型
5.如何处理小数相加
如果是从输入框获取两个小数相加结果会很长,处理方法是想把小数变成整数相加再除以倍数
6.比较运算符
1.比较运算符最终返回的是布尔值;
2.字符串的比较是逐位比较的,并且比较的是字符编码大小(参考:www.fengfly.com/document/EC…);
3.object比较的值地址,因此
var a = {x:10};
var b = {x:10};
alert(a == b)//false 如果是var b = a alert(a == b) 是true
7.逻辑运算符
1.&& 且运算符会先将运算符两边数据转换成布尔类型,如果有一个是false就返回左边类型,如果两边都是true就会返回右边内容 2.|| 或运算符,跟且运算符一样都是将两边先转换成布尔类型,如果左边是true就会返回左边内容,左边为false右边为true会返回右边内容,如果两边都是false会返回左边为false的内容