讀《高程3》系列之第三章3.1---操做符

1,操做符包括算術操做符(如加減號)、位操做符、關係操做符和相等操做符。操做符可以適用於不少值,例如字符串、數字、布爾值,甚至對象。不過在應用於對象時,相應的操做符一般都會調用對象都valueOf()或toString()方法,以便取得能夠操做的值;函數

2,一元操做符spa

  只能操做一個值的操做符叫作一元操做符,有一元加減操做符(-,+),有遞增遞減操做符(++,--);code

2.1,遞增和遞減操做符對象

  遞增和遞減各有兩個版本:前置型和後置型;前置型放在操做的變量以前,後置型放在操做的變量後;blog

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

它們無論是++仍是--,無論在前面仍是後面,都是加1或者減1;前置和後置的區別是:在一個運算過程當中前置型是先賦值(自身改變)後運算(表達式),後置型是先運算(運算表達式)後賦值(自身改變);字符串

這四個操做符對任何值都適用,遵循以下規則:console

  *在應用一個包含有效數字字符串時,先將其轉換爲數字,再執行加減1的操做;class

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;
相關文章
相關標籤/搜索