一、JavaScript數值 1、整數和浮點數 根據國際標準 IEEE 754,64 位浮點數格式的 64 個二進位位中,第0 位到第 51 位儲存有效數字部分,第 52 到第 62 位儲存指數部分,第 63 位是符號位,0 表示正數,1 表示負數。 (圖片:海碼歌) 1)、 JavaScript ...
一、JavaScript數值
1、整數和浮點數
根據國際標準 IEEE 754,64 位浮點數格式的 64 個二進位位中,第0 位到第 51 位儲存有效數字部分,第 52 到第 62 位儲存指數部分,第 63 位是符號位,0 表示正數,1 表示負數。
(圖片:海碼歌)
1)、 JavaScript 內部,所有數字都是以 64 位浮點數形式儲存,即使整數也是如此。所以,1 與 1.0 是相等的,而且 1 加上 1.0 得到的還是一個整數, 自己會推導類型,不會像 JAVA 那樣變成小數。
2)、儘可能不要使用小數比較,小數不精確
1 === 1.0 // true
1 + 1.0 // 2
0.1 + 0.2 === 0.3//false
整數二進位是除以 2 求餘數 即 8421 碼 ,小數:整數與小數部分分開,乘以 2,分數計數法。
5:
5*2=1 餘 1
1/2=0 餘 1
1
-->倒寫 :101
0.3:
0.3*2=0.6
0.6*2=1.2
0.2*2=0.4
0.4*2=0.8
0.8*2=1.6
0.6*2=1.2….
2、表示法
基本:1.2 科學計數法: e 或 E
123e3 // 123000
123e-3 // 0.123
3、進位
使用字面量(literal)時,JavaScript 對整數提供四種進位的表示方法:十進位、十六進位、八進位、 2 進位。
十進位:沒有前導 0。
八進位:有前導 0,且只用到 0-7 的七個阿拉伯數字,如果是 8-9 則表示十進位的 8-9。
十六進位:有首碼 0x 或 0X,用到十個阿拉伯數字,以及 a-f 和 A-F12 個英文字母。
二進位:有首碼 0b 或 0B,只用到 0 和 1 兩個阿拉伯數字。
15
0xf // 15
017 // 15
0b1111 //15
09//9 -->無效的 8 進位
4、特殊數值
NaN:表示“非數字”(Not a Number),主要出現在將字元串解析成數字出錯的場合。
1) NaN 不等於任何值,包括它本身,因為它不是一個值
2) NaN 與任何數(包括它自己)的運算,得到的都是 NaN。
3) isNaN 方法可以用來判斷一個值是否為 NaN。
abc-1 0 / 0 NaN === NaN // false NaN+1 isNaN(NaN) // true isNaN(123) // false Infinity:無窮大 1 / -0 // -Infinity 1 / +0 // Infinity //isFinite 方法判斷,是否為正常值。 isFinite(Infinity) // false isFinite(-1) // true isFinite(true) // true isFinite(NaN) // false
5、使用 parseInt parseFloat Number 轉換 ,
parseInt('123') // 123 parseInt('123px') //常用 123 parseFloat("3.14"); //3.14 Number(null) // 0
二、字元串 特殊字元
1、字元串為字元序列,多個字元 ,使用 '' 或 ""
'chrome'
"good"
"It's a long journey"
2、使用 + 拼接字元
'chrome' +'is' +'very' +'good'
3、特殊字元,轉義 -->記住常用即可
\0 代表沒有內容的字元(\u0000)
\n 換行符(\u000A)
\t 製表符(\u0009)
\' 單引號(\u0027)
\" 雙引號(\u0022)
4、 Base64 轉碼
Base64 是一種編碼方法,可以將任意字元轉成可列印字元。使用這種編碼方法,主要不是為了加密,而是為了不出現特殊字元,簡化程式的處理。
btoa():字元串或二進位值轉為 Base64 編碼
atob():Base64 編碼轉為原來的編碼
var string = 'Hello World!'; btoa(string) // "SGVsbG8gV29ybGQh" atob('SGVsbG8gV29ybGQh') // "Hello World!" // 不適合中文,encodeURIComponent 中文必須先編碼。 function b64Encode( str ) { return btoa(unescape(encodeURIComponent( str ))); } function b64Decode( str ) { return decodeURIComponent(escape(atob( str ))); } b64Encode('你好') // "5L2g5aW9" b64Decode('5L2g5aW9') // "你好"
上海尚學堂java培訓整理髮布,更多請關註公眾號 嗨碼歌,謝謝