最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

總結(jié)兩個Javascript的哈稀對象的一些編程技巧

 更新時間:2007年04月12日 00:00:00   作者:  
我喜歡從最基礎(chǔ)的內(nèi)容講起,然后慢慢深入,高手可能要給點耐心啊。
先看一個最簡單的應(yīng)用。在下面的代碼中,我們需要實現(xiàn)一個功能,就是點擊每個按鈕顯示相應(yīng)的網(wǎng)址
復(fù)制代碼 代碼如下:

<input type="button" value="百度" onclick="javascript:showUrl(this)"> 
<input type="button" value="Google" onclick="javascript:showUrl(this)"> 
<input type="button" value="微軟" onclick="javascript:showUrl(this)"> 
<input type="button" value="博客園" onclick="javascript:showUrl(this)"> 
<input type="button" value="阿舜的博客" onclick="javascript:showUrl(this)">那么。怎么寫這個 showUrl函數(shù)呢? 我想大多數(shù)人可能會這樣寫. 
<script type="text/javascript"> 
// by Go_Rush(阿舜)  from http://ashun.cnblogs.com/ 
function showUrl(element){ 
    var url; 
    switch (element.value){ 
        case "百度":          url="http://www.baidu.com/"    ;break; 
        case "Google":         url="http://www.google.com/"    ;break; 
        case "微軟":          url="http://www.microsoft.com/";break; 
        case "博客園":          url="http://www.cnblogs.com/"    ;break; 
        case "阿舜的博客":  url="http://ashun.cmblogs.com/" ;break; 
        default:             url="" 
    } 
    alert(url) 

</script>

這樣寫不太好,原因有二:
1.寫太長,很麻煩,用if, switch 語句來寫,如果有100個條件,那豈不要寫100個語句
2.不便于維護(hù)和擴(kuò)展,如果需求經(jīng)常變化,那些數(shù)據(jù)從數(shù)據(jù)庫來怎么辦,每變一下都要改程序的邏輯結(jié)構(gòu)
對JavaScript比較有經(jīng)驗的程序員肯定不會這樣寫,一般用數(shù)組來實現(xiàn)。 可以是二維數(shù)組,也可以是雙數(shù)組
1.雙數(shù)組方法
復(fù)制代碼 代碼如下:

<script type="text/javascript"> 
// by Go_Rush(阿舜)  from http://ashun.cnblogs.com/ 
var arrText=["百度","Google","微軟","博客園","阿舜的博客"]; 
var arrUrl=["http://www.baidu.com/","http://www.google.com/","http://www.microsoft.com/","http://www.cnblogs.com/","http://ashun.cmblogs.com/"] 
function showUrl(element){    //用雙數(shù)組方法 
    var value=element.value; 
    for(var i=0;i<arrText.length;i++){ 
        if (arrText[i]===value) return alert(arrUrl[i]) 
    } 

</script> 

2. 二維數(shù)組方法
復(fù)制代碼 代碼如下:

<script type="text/javascript"> 
// by Go_Rush(阿舜)  from http://ashun.cnblogs.com/ 
var arr=[ 
    ["百度"            ,"http://www.baidu.com/"], 
    ["Google"        ,"http://www.google.com/"], 
    ["微軟"            ,"http://www.microsoft.com/"], 
    ["博客園"        ,"http://www.cnblogs.com/"], 
    ["阿舜的博客"    ,"http://ashun.cmblogs.com/"] 
]; 
function showUrl(element){    //用二維數(shù)組方法 
    var value=element.value; 
    for(var i=0;i<arr.length;i++){ 
        if (arr[i][0]===value) return alert(arr[i][1]) 
    } 

</script> 

以上兩種方法借用數(shù)組作為數(shù)據(jù)結(jié)構(gòu),實現(xiàn)了程序要求的功能,而且為以后的擴(kuò)展,變動做好了充分的準(zhǔn)備
但是,效率呢? 每次都要遍歷數(shù)組,每次都要判斷。。。。
下面,我來介紹一種不用數(shù)組,不用循環(huán)遍歷,也不要判斷比較的方法。
先來一段:
復(fù)制代碼 代碼如下:

<script type="text/javascript"> 
// by Go_Rush(阿舜)  from http://ashun.cnblogs.com/ 
var hash={ 
    "百度"            :"http://www.baidu.com/", 
    "Google"        :"http://www.google.com/", 
    "微軟"            :"http://www.microsoft.com/", 
    "博客園"        :"http://www.cnblogs.com/", 
    "阿舜的博客"    :"http://ashun.cmblogs.com/" 
}; 
function showUrl(element){    //使用哈稀對象 
    alert(hash[element.value]) 

</script> 

看到?jīng)]有,以前要用循環(huán)的,要用判斷的函數(shù),現(xiàn)在只要一行代碼就OK了,而且擴(kuò)展性還是最好的。
如果您對JavaScript比較熟悉,您一定會對數(shù)組情有獨鐘,因為它確實是一種非常方便,應(yīng)用非常廣泛的
數(shù)據(jù)結(jié)構(gòu),但是對于哈稀對象這個青蘋果,哪怕您只啃過它一口,你一定永遠(yuǎn)不會忘記它的甜美。
他作為一種數(shù)據(jù)結(jié)構(gòu),在許多場合可以簡化編程,在海量數(shù)據(jù)面前,他的性能要遠(yuǎn)遠(yuǎn)高于數(shù)組。(這個在
我日后的po文里面會提到的,請關(guān)注)
他作為一種對象,可以在JavaScript實現(xiàn)類,模擬面向?qū)ο缶幊獭?
 以上講得非常簡單,僅作為拋磚引入,大家有興趣的可以在回復(fù)里面談?wù)勛约旱膽?yīng)用心得啊。
臨走之前再講個例子----判斷上傳的文件是否為圖像文件.
請注意那個set函數(shù),當(dāng)我們實現(xiàn)這個函數(shù)后,就可以像python一樣使用集合對象了,是不是很方便呢 

相關(guān)文章

  • javascript常用對話框小集

    javascript常用對話框小集

    對話框,大家對這個詞匯可謂是各有所解,本文有個不錯的例子,里面包含了各種常見對話框的實現(xiàn),感興趣的朋友可以了解下
    2013-09-09
  • JS 如果改變span標(biāo)簽的是否隱藏屬性

    JS 如果改變span標(biāo)簽的是否隱藏屬性

    JS 如果改變span標(biāo)簽的是否隱藏屬性,大家根據(jù)需要選擇使用。
    2011-10-10
  • bootstrap-Treeview實現(xiàn)級聯(lián)勾選

    bootstrap-Treeview實現(xiàn)級聯(lián)勾選

    這篇文章主要為大家詳細(xì)介紹了bootstrap-Treeview實現(xiàn)級聯(lián)勾選,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Javascript仿京東放大鏡的效果

    Javascript仿京東放大鏡的效果

    本文主要介紹了Javascript仿京東放大鏡效果的實例。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-03-03
  • 微信小程序使用字體圖標(biāo)的方法

    微信小程序使用字體圖標(biāo)的方法

    這篇文章主要為大家詳細(xì)介紹了微信小程序使用字體圖標(biāo)的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • SyntaxHighlighter代碼加色使用方法

    SyntaxHighlighter代碼加色使用方法

    原名:SyntaxHighlighter,是一款用于web頁面的代碼著色工具,可以用來著色多種語言,可以是HTML,CSS,Javascript,還可以是C,JAVA等編程語言。最早見于Yahoo的YUI,當(dāng)時還屬于自由軟件,最近打開官方網(wǎng)站發(fā)現(xiàn)已被goolge收編。
    2008-09-09
  • 詳解layui?laydate選擇時間的回調(diào)方法

    詳解layui?laydate選擇時間的回調(diào)方法

    這篇文章主要介紹了layui?laydate選擇時間的回調(diào)方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • 利用JS延遲加載百度分享代碼,提高網(wǎng)頁速度

    利用JS延遲加載百度分享代碼,提高網(wǎng)頁速度

    相信大家經(jīng)常在一些網(wǎng)站上看到有快捷分享到各大流行網(wǎng)站的按鈕,目前流行的有JiaThis、百度分享、Bshare等,目前用百度分享的居多
    2013-07-07
  • JavaScript函數(shù)綁定用法實例分析

    JavaScript函數(shù)綁定用法實例分析

    這篇文章主要介紹了JavaScript函數(shù)綁定用法,結(jié)合實例形式分析了javascript函數(shù)綁定的原理、實現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下
    2017-11-11
  • JavaScript function函數(shù)種類詳解

    JavaScript function函數(shù)種類詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript function函數(shù)種類,包括普通函數(shù)、匿名函數(shù)、閉包函數(shù),感興趣的小伙伴們可以參考一下
    2016-02-02

最新評論

莱州市| 丽水市| 马尔康县| 淳化县| 曲麻莱县| 张家川| 灵武市| 金华市| 平安县| 达孜县| 新巴尔虎右旗| 大洼县| 溆浦县| 新竹县| 博白县| 桐柏县| 改则县| 普定县| 双鸭山市| 斗六市| 根河市| 云霄县| 衡阳县| 永仁县| 沙湾县| 板桥市| 敖汉旗| 沈阳市| 万全县| 慈溪市| 三河市| 顺平县| 报价| 全南县| 武城县| 定结县| 儋州市| 张家口市| 彭州市| 察哈| 文化|