JavaScript的兼容性與調(diào)試技巧
關(guān)于JavaSctipt的兼容性,最懶的辦法就是用jQuery的工具函數(shù)。盡量不要用那些什么ECMAScript之類的函數(shù),因?yàn)楹芏酁g覽器都會(huì)報(bào)找不到函數(shù)的錯(cuò)誤。下面列出一些在開發(fā)過程中碰到過的javascript問題。
1、參數(shù)列表多個(gè)逗號(hào)。
$.ajax({})方法,非常熟悉了吧,但是在IE中有個(gè)小地方要注意,如果你在拼接參數(shù)列表的時(shí)候最后一個(gè)也加了逗號(hào),那么毫無疑問,IE下全部JS失效。
調(diào)試時(shí)報(bào)如下錯(cuò)誤:
缺少標(biāo)識(shí)符、字符串或數(shù)字
data: { S_Id: Subject_Id, level: $("#addKey").attr("lang"), --如果寫上這個(gè)逗號(hào),IE會(huì)報(bào)錯(cuò),火狐谷歌正常。 },
2、var str; 與 var str=""的區(qū)別
<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>
兩次輸出結(jié)果分別如下:
第一次:
第二次:
一個(gè)變量,如果定義時(shí)不賦值,那么就是undefined。再加字符串就是undefined + "要加的字符串"。如果這樣給HTML元素賦值。undefined也是會(huì)顯示出來的,怎么注意你懂的。
3、IE緩存JS的調(diào)試
今天調(diào)試的時(shí)候,發(fā)現(xiàn)IE8的JS緩存,非常非常霸氣。刷新,清空緩存都無效。搞得刷新到鼠標(biāo)左鍵都快碎了,還是不刷新。
現(xiàn)在特別來說個(gè)技巧,就是引入JS的時(shí)候,在后面加個(gè)new Date()。這樣就不用刷新得那么辛苦了。
<script type="text/javascript" src="/123.js?new Date()"></script>
4、JS判斷函數(shù)/變量是否存在,存在則調(diào)用
javascript中null,undefined,0,"",false作為if的條件的時(shí)候,被認(rèn)為是flase。
所以對(duì)于變量,如果我們定義了一個(gè)變量 var str = "";這樣判斷,依然返回false。
//是否存在指定函數(shù) 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; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家有所幫助,謝謝對(duì)腳本之家的支持!
- JavaScript必備的斷點(diǎn)調(diào)試技巧總結(jié)(推薦)
- JavaScript快速調(diào)試的兩個(gè)技巧
- 實(shí)用Javascript調(diào)試技巧分享(小結(jié))
- JavaScript調(diào)試之console.log調(diào)試的一個(gè)小技巧分享
- 必備的JS調(diào)試技巧匯總
- 淺析JavaScript 調(diào)試方法和技巧
- 推薦5 個(gè)常用的JavaScript調(diào)試技巧
- javascript調(diào)試之DOM斷點(diǎn)調(diào)試法使用技巧分享
- JavaScript調(diào)試技巧之console.log()詳解
- 實(shí)用的Javascript調(diào)試技巧整理
相關(guān)文章
JavaScript中實(shí)現(xiàn)依賴注入的思路分享
這篇文章主要介紹了JavaScript中實(shí)現(xiàn)依賴注入的思路分享,本文給出的解決方案包括獲取func的參數(shù)列表、根據(jù)參數(shù)列表尋找依賴、傳遞依賴項(xiàng)參數(shù)并實(shí)例化等3個(gè)步驟,需要的朋友可以參考下2015-01-01JavaScript實(shí)現(xiàn)的搜索及高亮顯示功能示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的搜索及高亮顯示功能,涉及javascript字符遍歷與頁(yè)面元素屬性相關(guān)操作技巧,需要的朋友可以參考下2017-08-08一個(gè)不錯(cuò)的字符串轉(zhuǎn)碼解碼函數(shù)(自寫)
一個(gè)不錯(cuò)的字符串轉(zhuǎn)碼解碼函數(shù),自己寫的,有需要的朋友可以參考下2014-07-07Layui 設(shè)置select下拉框自動(dòng)選中某項(xiàng)的方法
今天小編就為大家分享一篇Layui 設(shè)置select下拉框自動(dòng)選中某項(xiàng)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08多種js圖片預(yù)加載實(shí)現(xiàn)方式分享
這篇文章主要為大家詳細(xì)介紹了多種js圖片預(yù)加載實(shí)現(xiàn)方式,包括html標(biāo)簽或css加載圖片、純js實(shí)現(xiàn)預(yù)加載,感興趣的小伙伴們可以參考一下2016-02-02JS實(shí)現(xiàn)放大、縮小及拖拽圖片的方法【可兼容IE、火狐】
這篇文章主要介紹了JS實(shí)現(xiàn)放大、縮小及拖拽圖片的方法,可兼容IE及火狐等瀏覽器,通過javascript自定義函數(shù)實(shí)現(xiàn)針對(duì)圖片的放大、縮小及拖拽等功能,涉及javascript動(dòng)態(tài)操作頁(yè)面元素的相關(guān)技巧,需要的朋友可以參考下2016-08-08js判斷用戶是輸入的地址請(qǐng)求的路徑(實(shí)例講解)
下面小編就為大家?guī)硪黄猨s判斷用戶是輸入的地址請(qǐng)求的路徑(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07