effective javascript 學習心得
阿新 • • 發佈:2017-07-02
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 學習心得