欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解如何較好的使用js

 更新時(shí)間:2016年12月16日 10:08:09   作者:yangtoude  
本文將對在網(wǎng)頁中引用js常會(huì)出現(xiàn)的問題進(jìn)行匯總,并提出解決問題的具體方案,有助于我們更好的學(xué)習(xí)和使用js,需要的朋友一起來看下吧

1 假如瀏覽器不支持JavaScript怎么辦?

a.為什么瀏覽器會(huì)不支持?大部分瀏覽器都有禁用腳本的功能,例如chrome。

b.在js被禁用的情況下要保證網(wǎng)頁仍能實(shí)現(xiàn)它的核心功能(關(guān)鍵的用戶需求)

例子:在一個(gè)新窗口里打開鏈接,可以使用BOM的open()方法

function popUp(winURL) {
 window.open(winURL, "popup", "width=320,height=480");
}

具體的js實(shí)現(xiàn)有以下幾個(gè)方案:

方案一:使用javascript偽協(xié)議:<a href="javascript:popUp('http://www.example.com');return false;">Example</a>

方案二:使用內(nèi)嵌的事件處理函數(shù):<a href="#" onclick="popUp('http://www.example.com');return false;"></a>

以上兩種種實(shí)現(xiàn)方案,在js被禁用時(shí),“在一個(gè)新窗口里打開鏈接”這個(gè)需求就無法滿足了。所以,不能為了單純使用js而濫用js。下面這個(gè)實(shí)現(xiàn)方案就為js預(yù)留出了退路,即所謂平穩(wěn)退化(留好js被禁后的退路)

方案三:平穩(wěn)退化<a href="

2 如何將網(wǎng)頁的結(jié)構(gòu)、內(nèi)容與JavaScript腳本的動(dòng)作分離開?為什么要分離開?

a.分工明確,各干各的,然后才是協(xié)作:

網(wǎng)頁結(jié)構(gòu)、內(nèi)容-由html來做、網(wǎng)頁的樣式-由CSS來做、網(wǎng)頁的行為-由JavaScript來做

b.分離js代碼其實(shí)很簡單,js代碼不要求事件必須在html中處理,可以在外部js文件里將一個(gè)事件添加到html文檔中的某個(gè)元素上。例如:

window.onload = paperLinks
 function paperLinks() {
 var links = document.getElementsByTagName("a");
 for (var i=0; i<links.length;i++){
 if (links[i].getAttribute == "popup") {
  linnks[i].onclick = function() {
  popUp(this.getAttribute("href"));
  return false;
  }
 }
 }
 }

3 瀏覽器的兼容性問題

 新老要通吃,尤其要注意老的,即向后兼容。不同的瀏覽器對js的支持程度不一樣,比如document.getElementsByClassName(classname)IE6就不支持,加一個(gè)檢查語句就可以檢查兼容性問題:if(!document.getElementsByClassName) return false;

4 性能考慮

為什么要考慮腳本執(zhí)行的性能?性能是永遠(yuǎn)要考慮的問題,這涉及到你編寫的網(wǎng)頁能否順利的加載。

如何保證腳本執(zhí)行的性能是最優(yōu)的?

a.盡量少訪問dom和少使用標(biāo)記,例如:少用循環(huán)遍歷

var links = document.getElementsByTagName("a");
 if (links.length > 0) {
 for (var i=0; i<links.length; i++) {
 //......
 }
}

就要比下面的代碼性能要好

if (document.getElementsByTagName("a").length > 0) {
    var links = document.getElementsByTagName("a");
    for (var i=0; i<links.length; i++) {
    //......
    }
}

b.合并腳本(js代碼),減少頁面加載時(shí)發(fā)送的請求數(shù)量;將<script>標(biāo)簽放置于文檔末尾,在</body>結(jié)束之前,這樣可以讓頁面加載的快些,且不影響js的加載。

c.壓縮腳本,將js代碼中不必要的空格、注釋刪除,甚至可以將變量名簡化??梢詼?zhǔn)備兩個(gè)版本的js:一個(gè)是工作版本,用于修改代碼和注釋,另一個(gè)為精簡版本,則用于發(fā)布。

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • 深入分析下javascript中的[]()+!

    深入分析下javascript中的[]()+!

    本文是筆者遇到的一個(gè)很無奈的題目之后,不得不仔細(xì)研究一番,有需要的小伙伴來參考下吧。
    2015-07-07
  • js實(shí)現(xiàn)鍵盤Enter鍵提交表單的方法

    js實(shí)現(xiàn)鍵盤Enter鍵提交表單的方法

    這篇文章主要介紹了js實(shí)現(xiàn)鍵盤Enter鍵提交表單的方法,涉及javascript鍵盤事件的相關(guān)操作技巧,需要的朋友可以參考下
    2015-05-05
  • JavaScript監(jiān)聽文本框回車事件并過濾文本框空格的方法

    JavaScript監(jiān)聽文本框回車事件并過濾文本框空格的方法

    這篇文章主要介紹了JavaScript監(jiān)聽文本框回車事件并過濾文本框空格的方法,涉及javascript操作文本框獲取、清空及刪除空格的技巧,需要的朋友可以參考下
    2015-04-04
  • 深入淺析Bootstrap列表組組件

    深入淺析Bootstrap列表組組件

    列表組是靈活又強(qiáng)大的組件,不僅能用于顯示一組簡單的元素,還能用于復(fù)雜的定制的內(nèi)容。本文給大家介紹Bootstrap列表組組件,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • JavaScript中的Promise詳解

    JavaScript中的Promise詳解

    這篇文章主要介紹了JavaScript中的Promise使用詳解,promise對象是JS進(jìn)階學(xué)習(xí)中的重要知識(shí)點(diǎn),需要的朋友可以參考下
    2021-10-10
  • JavaScript實(shí)現(xiàn)帶緩沖效果的隨屏滾動(dòng)漂浮廣告代碼

    JavaScript實(shí)現(xiàn)帶緩沖效果的隨屏滾動(dòng)漂浮廣告代碼

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)帶緩沖效果的隨屏滾動(dòng)漂浮廣告代碼,通過JavaScript結(jié)合時(shí)間函數(shù)動(dòng)態(tài)響應(yīng)頁面元素滾動(dòng)事件實(shí)現(xiàn)懸浮廣告的緩沖漂浮效果,非常簡單實(shí)用,需要的朋友可以參考下
    2015-11-11
  • javascript中關(guān)于去重操作的使用

    javascript中關(guān)于去重操作的使用

    這篇文章主要介紹了javascript中關(guān)于去重操作的,在JS中關(guān)于數(shù)據(jù)去重操作的使用是非常常用,也是非常重要的點(diǎn),一般情況下關(guān)于對數(shù)組去重點(diǎn)操作是最常用的,下文我們就來介紹js去重相關(guān)內(nèi)容,需要的朋友可以參考下
    2022-04-04
  • js canvas實(shí)現(xiàn)適用于移動(dòng)端的百分比儀表盤dashboard

    js canvas實(shí)現(xiàn)適用于移動(dòng)端的百分比儀表盤dashboard

    這篇文章主要為大家詳細(xì)介紹了js canvas實(shí)現(xiàn)適用于移動(dòng)端的百分比儀表盤dashboard,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 純css下拉菜單 無需js

    純css下拉菜單 無需js

    這篇文章主要為大家詳細(xì)介紹了純css下拉菜單代碼,無需js,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • electron項(xiàng)目中實(shí)現(xiàn)視頻下載保存到本地的方式

    electron項(xiàng)目中實(shí)現(xiàn)視頻下載保存到本地的方式

    這篇文章主要介紹了electron項(xiàng)目中實(shí)現(xiàn)視頻下載保存到本地的兩種實(shí)現(xiàn)方式,每種方式結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2024-07-07

最新評(píng)論