亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

JavaScript 七大技巧(二)

2024-05-06 16:26:16
字體:
來源:轉載
供稿:網友
我寫JavaScript代碼已經很久了,都記不起是什么年代開始的了。本文給大家分享javascript七大技巧(二),對javascript技巧相關知識感興趣的朋友一起學習吧
 

上篇文章給大家介紹了JavaScript 七大技巧(一),寫JavaScript代碼已經很久了,都記不起是什么年代開始的了。對于JavaScript這種語言近幾年所取得的成就,我感到非常的興奮;我很幸運也是這些成就的獲益者。我寫了不少的文章,章節,還有一本專門討論它的書,然而,我現在依然能發現一些關于這種語言的新知識。下面的描述的就是過去讓我不由得發出“啊!”的感嘆的編程技巧,這些技巧你應該現在就試試,而不是等著未來的某個時候偶然的發現它們。

var band = {   "name":"The Red Hot Chili Peppers",   "members":[   {   "name":"Anthony Kiedis",   "role":"lead vocals"   },   {   "name":"Michael 'Flea' Balzary",   "role":"bass guitar, trumpet, backing vocals"   },   {   "name":"Chad Smith",   "role":"drums,percussion"   },   {   "name":"John Frusciante",   "role":"Lead Guitar"   }   ],   "year":""   }

你可以在JavaScript里直接使用JSON,可以把它封裝在函數里,甚至作為一個API的返回值形式。  我們把這稱作 JSON-P ,很多的API都使用這種形式?! ∧憧梢哉{用一個數據提供源,在script代碼里直接返回 JSON-P 數據:  

01  
12  

這是調用 Delicious 網站提供的 Web service 功能,獲得JSON格式的最近的無序書簽列表?! ?/p>

基本上,JSON是最輕便的描述復雜數據結構的方法,而且它能在瀏覽器里運行?! ?/p>

你甚至可以在PHP里用 json_decode() 函數來運行它。  

JavaScript的自帶函數(Math, Array 和 String)  

讓我感到驚奇的一個事情是,當我研究了JavaScript里的math和String函數后,發現它們能極大的簡化我的編程勞動?! ?/p>

使用它們,你可以省去復雜的循環處理和條件判斷?! ?/p>

例如,當我需要實現一個功能,找出數字數組里最大的一個數時,我過去是這樣寫出這個循環的,就像下面:

 var numbers =  [,,,,];   var max = ;   for(var i=;i   if(numbers[i]  > max){   max = numbers[i];   }   }   alert(max);

  我們不用循環也能實現: 

 var numbers =  [,,,,];   numbers.sort(function(a,b){return b -  a});   alert(numbers[]);

  需要注意的是,你不能對一個數字字符數組進行 sort() ,因為這種情況下它只會按照字母順序進行排序?! ?br /> 如果你想知道更多的用法,可以閱讀 這篇不錯的關于 sort() 的文章。  

再有一個有意思的函數就是 Math.max()?! ?/p>

這個函數返回參數里的數字里最大的一個數字:

Math.max(12,123,3,2,433,4); // returns 433 

因為這個函數能夠校驗數字,并返回其中最大的一個,所以你可以用它來測試瀏覽器對某個特性的支持情況:

 var scrollTop=  Math.max(   doc.documentElement.scrollTop,   doc.body.scrollTop   );

  這個是用來解決IE問題的。你可以獲得當前頁面的 scrollTop 值,但是根據頁面上 DOCTYPE 的不同,上面這兩個屬性中只有一個會存放這個值,而另外一個屬性會是 undefined,所以你可以通過使用 Math.max() 得到這個數?! ?/p>

閱讀這篇文章你會得到更多的關于使用數學函數來簡化JavaScript的知識?! ?/p>

另外有一對非常有用的操作字符串的函數是 split() 和 join()。我想最有代表性的例子應該是,寫一個功能,用來給頁面元素附加CSS樣式?! ?/p>

是這樣的,當你給頁面元素附加一個CSS class時,要么它是這個元素的第一個CSS class,或者是它已經有了一些class  , 需要在已有的class后加上一個空格,然后追加上這個class。而當你要去掉這個class時,你也需要去掉這個class前面的空格(這個在過去非常重要,因為有些老的瀏覽器不認識后面跟著空格的class)?!?/p>

 于是,原始的寫法會是這樣:

 function addclass(elm,newclass){   var c =  elm.className;   elm.className = (c === '') ? newclass : c+' '+newclass;   }  你可以使用 split() 和 join() 函數自動完成這個任務: function addclass(elm,newclass){   var classes =  elm.className.split(' ');   classes.push(newclass);   elm.className = classes.join(' ');   }  

這會確保所有的class都被空格分隔,而且你要追加的class正好放在最后。

是個短視的行為。工具包可以幫你快速的開發,但如果你不深入理解JavaScript,你也會做錯事。

用 JSON 形式存儲數據

  在我發現JSON之前,我使用各種瘋狂的方法把數據存貯在JavaScript固有的數據類型里面,例如:數組,字符串,中間夾雜著容易進行拆分的標志符號以及其它的令人討厭的東西。

  Douglas Crockford 發明了JSON 之后,一切全變了。

  使用JSON,你可以使用JavaScript自有功能把數據存貯成復雜的格式,而且不需要再做其它的額外轉換,直接可以訪問使用。

  JSON 是 “JavaScript Object Notation” 的縮寫,它用到了上面提到的兩種簡寫方法。

以上內容是小編給大家分享的javascript七大技巧,希望大家喜歡。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美高清理论片| 国产精品福利片| 亚洲欧美在线免费| 欧美二区在线播放| 国产精品极品尤物在线观看| 亚洲精品有码在线| 亚洲一区二区三区四区视频| 人人爽久久涩噜噜噜网站| 夜夜嗨av色一区二区不卡| 国产精品日韩在线播放| 亚洲成色777777女色窝| 狠狠做深爱婷婷久久综合一区| 亚洲天堂免费观看| 欧美一级成年大片在线观看| 亚洲高清久久网| 91成品人片a无限观看| 国产偷国产偷亚洲清高网站| 日韩美女写真福利在线观看| 精品久久久久久久久久久久久| 久久久人成影片一区二区三区| 日韩经典一区二区三区| 亚洲精品动漫久久久久| 中文字幕在线国产精品| 欧美成人免费一级人片100| 亚洲视频第一页| 97热在线精品视频在线观看| 国产在线观看精品一区二区三区| 狠狠综合久久av一区二区小说| 色诱女教师一区二区三区| 日韩av中文字幕在线免费观看| 日韩中文字幕视频在线| 欧美精品18videosex性欧美| 欧美精品第一页在线播放| 欧美午夜片欧美片在线观看| 国产精品福利观看| 色妞色视频一区二区三区四区| 成人精品视频久久久久| 91精品免费久久久久久久久| 97欧美精品一区二区三区| xvideos国产精品| 亚洲国产精品久久精品怡红院| 亚洲女同性videos| 久久久av免费| 国产精品91在线| 欧美性生交xxxxx久久久| 韩国日本不卡在线| 欧美激情精品久久久久久| 亚洲视频欧美视频| 96精品久久久久中文字幕| 国产亚洲精品久久久久久| 欧美日韩亚洲成人| 91久久精品日日躁夜夜躁国产| 伊人久久大香线蕉av一区二区| 国内免费久久久久久久久久久| 国产精品伦子伦免费视频| 97在线免费观看| 国产日产久久高清欧美一区| 岛国视频午夜一区免费在线观看| 国产精品一区二区久久久久| 国外成人在线视频| 亚洲欧美在线磁力| 亚洲国语精品自产拍在线观看| 久久久久久久国产精品视频| 亚洲天堂影视av| 在线观看久久av| 日韩欧亚中文在线| 91成人在线播放| 91色在线视频| 国产成人精品一区| 中文字幕亚洲综合久久筱田步美| 国产不卡视频在线| 91高清视频免费观看| 亚洲精品一区二区在线| 日本久久久久久久久| 久久久精品2019中文字幕神马| 久久久久久久999| yellow中文字幕久久| 亚洲人成亚洲人成在线观看| 丁香五六月婷婷久久激情| 久久网福利资源网站| 爽爽爽爽爽爽爽成人免费观看| 国产精品日韩欧美| 欧美激情精品久久久| 亚洲女人被黑人巨大进入al| 人妖精品videosex性欧美| 精品成人在线视频| 亚洲国产精品系列| 欧美成人手机在线| 97成人在线视频| 亚洲韩国青草视频| 午夜精品一区二区三区在线视| 亚洲精品电影网站| 九九热精品视频在线播放| 久久精品国亚洲| 日韩一区二区三区国产| 国产精品美女久久久久久免费| 欧美性生活大片免费观看网址| 国产精品人成电影| 亚洲国产日韩欧美在线99| 欧美黄色片免费观看| 欧美高清性猛交| 色哟哟网站入口亚洲精品| 高清日韩电视剧大全免费播放在线观看| 亚洲欧美成人网| 国产精品福利无圣光在线一区| 中文字幕久热精品视频在线| 久久影视电视剧凤归四时歌| 日韩欧美成人免费视频| 精品中文字幕在线| 欧美日产国产成人免费图片| 日本伊人精品一区二区三区介绍| 91性高湖久久久久久久久_久久99| 国产免费成人av| 国产区亚洲区欧美区| 欧美性猛交xxxx免费看| 亚洲成人久久电影| 国产精品九九久久久久久久| 国产精品久久久一区| 欧美性生交xxxxxdddd| 国模吧一区二区三区| 日本中文字幕久久看| 久久久人成影片一区二区三区| 欧美肥臀大乳一区二区免费视频| 亚洲精品456在线播放狼人| 国产精品日韩久久久久| 91亚洲精品在线| 欧美专区在线播放| www.久久久久| 欧美激情中文字幕乱码免费| 免费不卡欧美自拍视频| 色久欧美在线视频观看| 久久久视频在线| 日韩免费观看在线观看| 精品久久久久久亚洲国产300| 亚洲精品91美女久久久久久久| 91久久精品一区| 国产成人精品免费视频| 国产婷婷97碰碰久久人人蜜臀| 亚洲国产欧美精品| 国产综合久久久久| 理论片在线不卡免费观看| 亚洲精品999| 国产精品久久久久久久久久久久| 国产成人精品av在线| 97久久伊人激情网| 亚洲网在线观看| 深夜福利亚洲导航| 日韩禁在线播放| 精品成人国产在线观看男人呻吟| 国产精品免费一区二区三区都可以| 91免费精品国偷自产在线| 精品女同一区二区三区在线播放| 狠狠躁夜夜躁久久躁别揉| 国产精品夜间视频香蕉| 日韩中文字幕在线观看| 6080yy精品一区二区三区| 韩曰欧美视频免费观看| 日韩在线观看免费av| 国产中文欧美精品| 日韩精品中文字幕久久臀| 欧美国产精品人人做人人爱| 欧美老妇交乱视频| 欧美激情乱人伦一区| 韩曰欧美视频免费观看|