1. 程式人生 > >effective javascript 學習心得

effective javascript 學習心得

typeof js數字 java 檢查 種類 ava pan scrip fin

第2條:理解JavaScript的浮點數

1.js數字只有一種類型

2.見代碼

/**
 * Created by Administrator on 2017/7/2.
 */
console.log("charpter2");
console.log(1-0.41); //0.5900000000000001 double不能精確計算
console.log((8).toString(2));//1000 數字轉其他進制輸出
console.log(parseInt("1001", 2));//9 其他進制轉數字

第3條:當心隱式的類型轉換

1. - * / % 在計算之前會把參數轉化成數字, +可以是數字或者字符串,有字符串就優先字符串, 位運算符 ~ & | ^ << >> >>>會將參數轉化成32位整數

2.見代碼

 1 console.log("charpter3");
 2 console.log("17" * 3); //51
 3 console.log(NaN === NaN);//false
 4 console.log(isNaN(NaN));//true
 5 console.log(isNaN("haha"));//true
 6 console.log(isNaN(""));//false
 7 console.log(isNaN(null));//false
 8 console.log(isNaN(undefined));//true
 9 console.log(null === null);//
true 10 console.log(undefined === undefined);//true 11 function isReallyNaN(a) { // 判斷參數到底是不是NaN的最簡單方法 12 return a !== a; 13 } 14 console.log("object : " + { 15 toString: function () { 16 return "object" 17 }, valueOf: function () { 18 return 123; 19 }
20 }); //優先選擇valueOf作為返回值

3. if || && 會把參數轉化成布爾值, js裏有7個轉化後為假的值: false 0 -0 null undefined NaN ""

4.檢查參數是否為undefined可以用typeof(x) === "undefined" 或者 x===undefined

effective javascript 學習心得