知識社群登入
容易出錯的寫法
by 蘇德宙, 2012-05-20 09:23, 人氣(1497)
避免隱含的型別轉換,用 === 取代 ==
false == 0 (true)
false === 0 (false)


使用 parseInt() 要加 base,可以改用 Number()
尤其在 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);