1. 程式人生 > >JavaScript註意事項

JavaScript註意事項

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註意事項