js參考---js算數運算符
一、總結
一句話總結:
當對非Number類型的值進行運算時,會將這些值轉換為Number然后再運算,任何值和NaN做運算都得NaN
1、typeof的實質是什么?
typeof就是運算符,可以來獲得一個值的類型,它會將該值的類型以字符串的形式返回 number string boolean undefined object
二、算數運算符
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script type="text/javascript"> 7 8 /* 9 * 運算符也叫操作符 10 * 通過運算符可以對一個或多個值進行運算,並獲取運算結果 11 * 比如:typeof就是運算符,可以來獲得一個值的類型,它會將該值的類型以字符串的形式返回 number string boolean undefined object 12 * 13 * 算數運算符 14 * 當對非Number類型的值進行運算時,會將這些值轉換為Number然后再運算,任何值和NaN做運算都得NaN 15 * 16 * 17 * + +可以對兩個值進行加法運算,並將結果返回 18 * 如果對兩個字符串進行加法運算,則會做拼串,會將兩個字符串拼接為一個字符串,並返回 19 * 任何的值和字符串做加法運算,都會先轉換為字符串,然后再和字符串做拼串的操作 20 * 21 * - - 可以對兩個值進行減法運算,並將結果返回 22 * 23 * 24 * * * 可以對兩個值進行乘法運算 25 * 26 * / / 可以對兩個值進行除法運算 27 * 28 * % % 取模運算(取余數) 29 */ 30 31 var a = 123; 32 var result = typeof a; 33 console.log(result);//number 34 console.log(typeof result); //string 35 36 37 result = a + 1; 38 console.log(result);//124 39 40 41 result = 456 + 789; 42 console.log(result);//1245 43 44 45 result = true + 1; 46 console.log(result);//2 47 48 49 //任何的值和字符串做加法運算,都會先轉換為字符串,然后再和字符串做拼串的操作 50 result = true + false; 51 console.log(result);//1 52 53 54 //任何的值和字符串做加法運算,都會先轉換為字符串,然后再和字符串做拼串的操作 55 result = 2 + null; 56 console.log(result);//2 57 58 59 //任何值和NaN做運算都得NaN 60 result = 2 + NaN; 61 console.log(result);//NaN 62 63 64 //如果對兩個字符串進行加法運算,則會做拼串,會將兩個字符串拼接為一個字符串,並返回 65 result = "123" + "456"; 66 console.log(result);//123456 67 68 69 result = "你好" + "大帥哥"; 70 console.log(result);//你好大帥哥 71 72 73 var str = "鋤禾日當午," + 74 "汗滴禾下土," + 75 "誰知盤中餐," + 76 "粒粒皆辛苦"; 77 console.log(str);//鋤禾日當午,汗滴禾下土,誰知盤中餐,粒粒皆辛苦 78 79 //----------------------------------------------------------------------------------- 80 81 //任何的值和字符串做加法運算,都會先轉換為字符串,然后再和字符串做拼串的操作 82 result = 123 + "1"; 83 console.log(result);//1231 84 85 86 //任何的值和字符串做加法運算,都會先轉換為字符串,然后再和字符串做拼串的操作 87 result = true + "hello"; 88 console.log(result);//truehello 89 90 91 /* 92 * 我們可以利用這一特點,來將一個任意的數據類型轉換為String 93 * 我們只需要為任意的數據類型 + 一個 "" 即可將其轉換為String 94 * 這是一種隱式的類型轉換,由瀏覽器自動完成,實際上它也是調用String()函數 95 */ 96 var c = 123; 97 c = c + ""; //和c = String(c)本質上是一樣的 98 console.log(typeof c);//string 99 100 101 result = 1 + 2 + "3"; 102 console.log(result); //33 103 104 result = "1" + 2 + 3; 105 console.log(result); //123 106 107 //----------------------------------------------------------------------------------- 108 109 result = 100 - 5; 110 console.log(result); //95 111 112 result = 100 - true; 113 console.log(result); //99 114 115 result = 100 - "1"; 116 console.log(result); //99 117 118 result = 2 * 2; 119 console.log(result); //4 120 121 result = 2 * "8"; 122 console.log(result); //16 123 124 result = 2 * undefined; 125 console.log(result); //NaN 126 127 result = 2 * null; 128 console.log(result); //0 129 130 result = 4 / 2; 131 console.log(result); //2 132 133 result = 3 / 2; 134 console.log(result); //1.5 135 136 //----------------------------------------------------------------------------------- 137 138 /* 139 * 任何值做 - * / 運算時都會自動轉換為Number 140 * 我們可以利用這一特點做隱式的類型轉換 141 * 可以通過為一個值 -0 、*1 、 /1來將其轉換為Number,原理和Number()函數一樣,使用起來更加簡單 142 */ 143 144 var d = "123"; 145 d = d - 0; 146 console.log(d); //123 147 console.log(typeof d);//number 148 149 150 result = 9 % 3; 151 console.log(result); //0 152 153 result = 9 % 4; 154 console.log(result); //1 155 156 result = 9 % 5; 157 console.log(result); //4 158 159 160 </script> 161 </head> 162 <body> 163 </body> 164 </html>