DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JavaScript的兼容性與調試技巧
JavaScript的兼容性與調試技巧
編輯:關於JavaScript     

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

1、參數列表多個逗號。

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

  調試時報如下錯誤:

   缺少標識符、字符串或數字

data: {
 S_Id: Subject_Id,
 level: $("#addKey").attr("lang"),  --如果寫上這個逗號,IE會報錯,火狐谷歌正常。
},

2、var str; 與 var str=""的區別

 <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>

    兩次輸出結果分別如下:

 第一次:

    第二次:

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

3、IE緩存JS的調試

  今天調試的時候,發現IE8的JS緩存,非常非常霸氣。刷新,清空緩存都無效。搞得刷新到鼠標左鍵都快碎了,還是不刷新。

  現在特別來說個技巧,就是引入JS的時候,在後面加個new Date()。這樣就不用刷新得那麼辛苦了。

   <script type="text/javascript" src="/123.js?new Date()"></script>

4、JS判斷函數/變量是否存在,存在則調用

  javascript中null,undefined,0,"",false作為if的條件的時候,被認為是flase。

  所以對於變量,如果我們定義了一個變量 var str = "";這樣判斷,依然返回false。

//是否存在指定函數 
 function isExitsFunction(funcName) {
 try {
 if (typeof(eval(funcName)) == "function") {
 return true;
 }
 } catch(e) {}
 return false;
 }
 //是否存在指定變量 
 function isExitsVariable(variableName) {
 try {
 if (typeof(variableName) == "undefined") {
 //alert("value is undefined"); 
 return false;
 } else {
 //alert("value is true"); 
 return true;
 }
 } catch(e) {}
 return false;
 }

以上就是本文的全部內容,希望對大家有所幫助,謝謝對的支持!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved