JavaScript註意事項
阿新 • • 發佈:2017-10-13
java undefine hello 作用 == 屬性 適用於 字符 false :
1.浮點型數據使用註意事項
JavaScript 中的所有數據都是以 64 位浮點型數據(float) 來存儲。但所有的編程語言,包括 JavaScript,對浮點型數據的精確度都很難確定:
不期望的:
var x = 0.1;
var y = 0.2;
var z = x + y // z 的結果為 0.30000000000000004
if (z == 0.3) // 返回 false
解決辦法:轉化為整數計算:
var x = 0.1;
var y = 0.2;
var z = (x * 10 + y * 10) / 10; // z 的結果為 0.3
if (z == 0.3) // 返回 true
2.JavaScript 字符串分行
JavaScript 允許我們在字符串中使用斷行語句:
var x = "Hello World!"; //正確
但是,在字符串中直接使用回車換行是會報錯的:
var x = "Hello World!"; //報錯
解決辦法:使用反斜杠(\):
var x = "Hello World!"; //正確
3.Undefined 與 Null
在 JavaScript 中, null 用於對象, undefined 用於變量,屬性和方法。對象只有被定義才有可能為 null,否則為 undefined。
如果我們想測試對象是否存在,錯誤的方式
if (myObj !== null && typeof myObj !== "undefined")
正確的方式是先使用 typeof 來檢測對象是否已定義:
if (typeof myObj !== "undefined" && myObj !== null)
4.程序塊作用域
在同一個js方法中每個代碼塊不會創建一個新的作用域,各個代碼塊的作用域都是全局的。
即,在同一個方法中,在某個代碼塊之內定義的變量等,在本方法的代碼塊之外也可以獲得。
但是,在方法內任何位置定義的變量只適用於本方法。
JavaScript註意事項