標簽:布爾值 color value 規則 除法 自動 使用 相加 code
運算符
一元運算符:只能操作一個值的運算符
算術運算符
關系運算符
邏輯運算符
位運算符
賦值運算符
其他運算符
一元運算符
1、遞增++和遞減--
var box = 100; ++box; //把box累加一個1,相當于box=box+1 --box; //把box累減一個1,相當于box=box-1 box++; //同上 box--; //同上
2、前置和后置的區別
在沒有賦值操作,前置和后置是一樣的。但在賦值操作時,如果遞增或遞減運算符前置,那么前置的運算符會先累加或累減再賦值,如果是后置運算符則先賦值再累加或累減。
var box = 100; var age = ++box; //age的值為101 var height = box++; //height值為100
3、其他類型應用一元運算符的規則
var box = ‘89‘; box++; //90,數值字符串自動轉換成數值 var box = ‘ab‘; box++; //NaN,字符串包含非數值轉成NaN var box = false; box++; //1,false轉成數值是0,累加就是1 var box = 2.3; box++; //3.3,直接加1 var box = { //1,不設置toString或valueOf即為NaN toString: function() { return 1; } }; box++;
4、加和減運算符
加運算規則如下:
var box = 100; +box; //100,對于數值,不會產生任何影響 var box = ‘89‘; +box; //89,數值字符串轉換成數值 var box = ‘ab‘; +box; //NaN,字符串包含非數值轉成NaN var box = false; +box; //0,布爾值轉換成相應的數值 var box = 2.3; +box; //2.3,沒有變化 var box = { //1,不設置toString或valueOf即為NaN toString: function() { return 1; } }; +box;
減運算規則如下:
var box = 100; -box; //-100,對于數值,直接變負 var box = ‘89‘; -box; //-89,數值字符串轉換成數值 var box = ‘ab‘; -box; //NaN,字符串包含非數值轉成NaN var box = false; -box; //0,布爾值轉換成相應的數值 var box = 2.3; -box; //-2.3,沒有變化 var box = { //-1,不設置toString或valueOf即為NaN toString: function() { return 1; } }; -box;
正運算符和負運算符可像上面進行類型轉換
算術運算符
ECMAScript定義了5個算術運算符,加減乘除求模(取余)
如果在算術運算的值不是數值,那么后臺會先使用Number轉型函數將其轉換為數值(隱式轉換)
1、加法
var box = 1 + 2; //等于3 var box = 1 + NaN; //NaN,只要有一個NaN就為NaN var box = Infinity + Infinity; //Infinity var box = -Infinity + -Infinity; //-Infinity var box = Infinity + -Infinity; //NaN,正無窮和負無窮相加等于NaN var box = 100 + ‘100‘; //字符串連接符,有字符串就不是加法 var box = ‘您的年齡是:‘ + 10 + 20; //您的年齡是:1020,被轉換成字符串 var box = 10 + 20 +‘是您的年齡‘; //30是您的年齡,沒有被轉換成字符 var box = ‘您的年齡是:‘ + (10 + 20); //您的年齡是:30,沒有被轉換成字符串 var box = 10 + 對象; //10[object Object],如果有toString()或valueOf()則返回 10+返回的數值
2、減法
var box = 100 - 70; //等于30 var box = -100 - 70; //等于-170 var box = -100 - -70; //-30,一般寫成-100 - (-70)比較清晰 var box = 1 - NaN; //NaN,只要有一個NaN就為NaN var box = Infinity - Infinity; //NaN var box = -Infinity - -Infinity; //NaN var box = Infinity - -Infinity; //Infinity var box = -Infinity - Infinity; //-Infinity var box = 100 - true; //99,true轉成數值為1 var box = 100 - ‘‘; //100,‘‘轉成了0 var box = 100 - ‘70‘; //30,‘70‘轉成了數值70 var box = 100 - null; //100,null轉成了0 var box = 100 - ‘Lee‘; //NaN,Lee轉成了NaN var box = 100 - 對象; //NaN,如果有toString()或valueOf()則返回 10-返回的數值
3、乘法
4、除法
5、求模(取余)
標簽:布爾值 color value 規則 除法 自動 使用 相加 code
原文地址:https://www.cnblogs.com/crazier/p/13348179.html