關於JavaSctipt的相容性,最懶的辦法就是用jQuery的工具函數。盡量不要用那些什麼ECMAScript之類的函數,因為很多瀏覽器都會報找不到函數的錯誤。以下列出一些在開發過程中碰到過的javascript問題。
1、參數列表多個逗號。
$.ajax({})方法,非常熟悉了吧,但是在IE中有個小地方要注意,如果你在拼接參數列表的時候最後一個也加了逗號,那麼毫無疑問,IE下全部JS失效。
調試時報如下錯誤:
缺少識別碼、字串或數字
data: { S_Id: Subject_Id, level: $("#addKey").attr("lang"), --如果写上这个逗号,IE会报错,火狐谷歌正常。 },
🎔2、var str 兩次輸出結果分別如下: 第一次:
第二次:
一個變量,如果定義時不賦值,那麼就是undefined。再加字串就是undefined + "要加的字串"。如果這樣給HTML元素賦值。 undefined也是會顯示出來的,怎麼注意你懂的。
3、IE快取JS的調試
今天調試的時候,發現IE8的JS緩存,非常非常霸氣。刷新,清空快取都無效。搞得刷新到滑鼠左鍵都快碎了,還是不刷新。
現在特別來說個技巧,就是引入JS的時候,在後面加個new Date()。這樣就不用刷新得那麼辛苦了。 4、JS判斷函數/變數是否存在,存在則呼叫 script中null undefined,0,"",false作為if的條件的時候,被認為是flase。 所以對於變量,如果我們定義了一個變量 var str = "";這樣判斷,依然返回false。<script> var Str1; for (var i = 0; i < 3; i++) { Str1 += "xxx" } alert(Str1); var Str2 = ""; for (var i = 0; i < 3; i++) { Str2 += "xxx" } alert(Str2); </script>