ECMA-262用于操作数据值的操作符包括: 算术操作符 位操作符 关系操作符 相等操作符 ECMAScript操作符的不同之处在于:它能够适用于很多值,包括字符串,数字值,布尔值,甚至是对象。(在应用于对象时,相应的操作符通常会调用对象的valueOf()和(或)to ...
ECMA-262用于操作数据值的操作符包括:
算术操作符
位操作符
关系操作符
相等操作符
ECMAScript操作符的不同之处在于:它能够适用于很多值,包括字符串,数字值,布尔值,甚至是对象。(在应用于对象时,相应的操作符通常会调用对象的valueOf()和(或)toString()方法,以便取得可以操作的值。)
1.一元操作符
(1)递增和递减操作符
需要注意的是:
eg:
前置++age:变量的值在语句被求值之前改变。
后置age++:变量的值在语句被求值之后改变。
执行前置递增和递减操作时,变量的值都是在语句被求值以前改变的(在计算机科学领域中,这种情况通常被称作复效应。)
递增和递减操作符应用于其他数据类型遵循的规则详见高程书P37。
(2)一元加和减操作符
当一元加和减操作符放在数值前面时,相当于正负号。
当一元加和减操作符放在非数值类型的数据类型前时,它会依照相应的规则进行数据类型的转换。
2.位操作符
ECMAScript中所有的数值都是以IEEE-754 64位格式存储的,但是为操作符并不是直接操作64位的值。而是先将64位的值转换成32位的整数,然后执行操作,最后在将结果转换回64位。但是这个转换过程也导致了一个严重的复效应,即在对特殊的NaN和Infinity值应用位操作时,这两个值都会被当成0来处理。
原标题:JS高程3.基本概念(4)操作符
关键词:JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。