搜尋
首頁web前端js教程JavaScript中DOM詳解_javascript技巧

為了達到平穩退化,向後相容,標記分離的思想,每次寫js程式碼時做的第一件事應該是必要的測試和檢查工作:
在js檔案裡先加入以下程式碼進行檢查:

window.onload = function(){
if(!document.getElementsByTagName)  return false;
if(!document.getElementById) return false;
if(!document.getElementsByClassName)  return false;
if(!document.getElementById("selector"))  return false;
if(!document.getElementsByTagName("tag"))  return false;
if(!document.getElementsByClassName("selector"))  return false;
};

通用封裝函數:

var $ = function(id){
   return document.getElementBy Id (id);
}
var addEvent = function(obj,event,fn){  //obj:元素对象名字,event:绑定事件,fn:触发的回调函数
   if(obj.addEventListener){
obj.addEventListener(event,fn,false);
   }
   else if(obj.attachEvent){
obj.attachEvent("on"+event,fn);
   }
}

對於許多函數需要頁面載入即運行,window.onload封裝方法如下:

function addLoadEvent(func){
var oldonload = window.onload;
if(typeof window.onload != "function")
{
window.onload = func;
}
else
{
window.onload = function()
{
oldonload();
func();
}
}
}
addLoadEvent(firstFunction);
addLoadEvent(secondFunction);

火狐與IE之間的JavaScript差

1、在大多數情況下,為事件處理函數傳回false,可以防止預設的事件行為.例如,預設點擊一個a元素,頁面會跳到該元素href屬性指定的頁。
return false 就相當於終止符,return true 就相當於執行符。
在js中return用法的三種景象的總結如下:
retrun true; 傳回正確的處理懲罰成果。
return false;傳回錯誤的處理懲罰成果;終止處理懲罰;阻止提交表單;阻擋履行預設的行動。
return;把把握權回傳給頁。

2、在絕大多數時候,把一個函數呼叫賦值給一個變數會是個好主意。

3、noscript標籤可被用於可識別 script標籤但無法支援其中的腳本的瀏覽器。如果瀏覽器支援腳本,那麼它不會顯示 noscript 標籤中的文字。

4、在動態設定樣式時,只要有可能,最好選用CSS,最簡單的就是選擇最容易實現的方法。

5、在一個函數中會用到全域物件儲存為局部變數來減少全域查找,因為存取局部變數的速度要比存取全域變數的速度更快。

6、如果針對的是不斷運作的程式碼,不應該使用setTimeout,而應該是用setInterval,因為setTimeout每次都會初始化一個計時器,而setInterval只會在開始的時候初始化一個計時器。

7.如果要連接多個字串,應該少使用 = ,條件分支時盡量使用三目運算子替代條件分支。

8、很多人喜歡使用parseInt(),其實parseInt()是用來將字串轉換成數字,而不是浮點數和整數之間的轉換,我們應該使用Math.floor()或Math. round()。

9、在JavaScript中所有變數都可以使用單一var語句來聲明,這樣就是組合在一起的語句,以減少整個腳本的執行時間。

10、對於大的DOM更改,使用innerHTML要比使用標準的DOM方法創建相同的DOM結構快得多。

11、當同一個物件使用.onclick的寫法觸發多個方法的時候,後一個方法會把前一個方法覆蓋掉,也就是說,在物件的onclick事件發生時,只會執行最後綁定的方法。而用事件監聽則不會有覆蓋的現象,每個綁定的事件都會被執行。

12、如果定義了toString()方法來進行類型轉換的話,推薦明確調用toString(),因為內部的操作在嘗試所有可能性之後,會嘗試物件的toString()方法嘗試能否轉換為String,所以直接呼叫這個方法效率會比較高。

13、因為elemet.style只能取得內聯樣式,而element.currentStyle.width是IE瀏覽器專有屬性,getComputedStyle(element, null).width是火狐和Chrome瀏覽器的獨特屬性,所以為了相容,取得內外樣式方法如下(不可取複合樣式,如background,border,而是應該寫成backgroundColor,borderWidth):

function getStyle(obj,name) {
   if(obj.currentStyle) {
     return obj.currentStyle[name];
   }
   else
   {
     return getComputedStyle(obj,null)[name];
   }
}

以上所述就是本文的全部內容了,希望大家能夠喜歡。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
JavaScript數據類型:瀏覽器和nodejs之間是否有區別?JavaScript數據類型:瀏覽器和nodejs之間是否有區別?May 14, 2025 am 12:15 AM

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScript評論:使用//和 / * * / * / * /JavaScript評論:使用//和 / * * / * / * /May 13, 2025 pm 03:49 PM

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python vs. JavaScript:開發人員的比較分析Python vs. JavaScript:開發人員的比較分析May 09, 2025 am 12:22 AM

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

Python vs. JavaScript:選擇合適的工具Python vs. JavaScript:選擇合適的工具May 08, 2025 am 12:10 AM

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript:了解每個的優勢Python和JavaScript:了解每個的優勢May 06, 2025 am 12:15 AM

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

JavaScript的核心:它是在C還是C上構建的?JavaScript的核心:它是在C還是C上構建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript應用程序:從前端到後端JavaScript應用程序:從前端到後端May 04, 2025 am 12:12 AM

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

Python vs. JavaScript:您應該學到哪種語言?Python vs. JavaScript:您應該學到哪種語言?May 03, 2025 am 12:10 AM

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具