首頁  >  文章  >  web前端  >  JavaScript的兼容性與調試技巧

JavaScript的兼容性與調試技巧

高洛峰
高洛峰原創
2016-12-06 09:42:401218瀏覽

關於JavaSctipt的相容性,最懶的辦法就是用jQuery的工具函數。盡量不要用那些什麼ECMAScript之類的函數,因為很多瀏覽器都會報找不到函數的錯誤。以下列出一些在開發過程中碰到過的javascript問題。

1、參數列表多個逗號。

  $.ajax({})方法,非常熟悉了吧,但是在IE中有個小地方要注意,如果你在拼接參數列表的時候最後一個也加了逗號,那麼毫無疑問,IE下全部JS失效。

  調試時報如下錯誤:

   缺少識別碼、字串或數字

data: {
 S_Id: Subject_Id,
 level: $("#addKey").attr("lang"),  --如果写上这个逗号,IE会报错,火狐谷歌正常。
},

   

🎔2、var str   兩次輸出結果分別如下:

 第一次:

    第二次:

JavaScript的兼容性與調試技巧一個變量,如果定義時不賦值,那麼就是undefined。再加字串就是undefined + "要加的字串"。如果這樣給HTML元素賦值。 undefined也是會顯示出來的,怎麼注意你懂的。

3、IE快取JS的調試

  今天調試的時候,發現IE8的JS緩存,非常非常霸氣。刷新,清空快取都無效。搞得刷新到滑鼠左鍵都快碎了,還是不刷新。 JavaScript的兼容性與調試技巧

  現在特別來說個技巧,就是引入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>

   


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn