读《高程3》系列之第三章3.1---操作符

1,操作符包括算术操作符(如加减号)、位操作符、关系操作符和相等操作符。操作符能够适用于很多值,例如字符串、数字、布尔值,甚至对象。不过在应用于对象时,相应的操作符通常都会调用对象都valueOf()或toString()方法,以便取得可以操作的值;

2,一元操作符

  只能操作一个值的操作符叫做一元操作符,有一元加减操作符(-,+),有递增递减操作符(++,--);

2.1,递增和递减操作符

  递增和递减各有两个版本:前置型和后置型;前置型放在操作的变量之前,后置型放在操作的变量后;

var age=18;
age++;
++age;
age--;
--age;

它们不管是++还是--,不管在前面还是后面,都是加1或者减1;前置和后置的区别是:在一个运算过程中前置型是先赋值(自身改变)后运算(表达式),后置型是先运算(运算表达式)后赋值(自身改变);

这四个操作符对任何值都适用,遵循如下规则:

  *在应用一个包含有效数字字符串时,先将其转换为数字,再执行加减1的操作;

var age="18"

age++; //19;

  *在应用一个不包含有效数字字符串是,将变量的值转为NaN,

  *在应用布尔值false时,先将其转为0,再执行加减1的操作;

  *在应用布尔值true时,先将其转为1,再执行加减1的操作;

  *在应用浮点数值时,正常执行加减1操作;

var num=1.1

num--;

console.log(num);//0.10000000000000009

  *在应用对象时,先调用对象的valueOf()方法,以取得一个可以操作的值,然后对该值按上面规则运行;

2.2,一元加或一元减操作符;

  在对数值前面添加一元操作符,对数值不会产生任何影响;

var num=19;

num=+num;

num//19

  不过对非数字应用一元操作符时,该操作符将会想Number()函数一样将这个值进行数值转换;

var num="01";

num=-num;//-1;

var num1="1.1";

num1=-num1;//-1.1

var str="aa"

str=-str;//NaN;
原文地址:https://www.cnblogs.com/thomas-yang-github/p/11722644.html