容易出錯的寫法
by 蘇德宙, 2012-05-20 09:23, 人氣(1497)
避免隱含的型別轉換,用 === 取代 ==
false == 0 (true)
false === 0 (false)
尤其在 form 中的日期 (0 開頭會解釋為 8 進位),例如
var m = '09';
m = parseInt(09); // m = 0, 因為 09 不是 8 進位
m = Number(m); // 速度更快
避免使用 eval()
不安全,尤其 ajax 的 json
如果一定要,用 JSON.parse 或 Json.org 提供的 lib
setTimeout() 比較好的寫法
因為字串會被視為程式碼去解析
setTimeout("func()", 1000); >> setTimeout(func, 1000);
setTimeout("func(1, 2)", 1000); >> setTimeout(function() {func(1, 2);}, 1000);