欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          javascript怎么定義類數(shù)組對象

          javascript定義類數(shù)組對象的方法是:1、首先創(chuàng)建一個空對象;2、為對象直接定義數(shù)字下標的屬性;3、關(guān)鍵點,為對象設(shè)置length屬性和splice屬性為數(shù)字和函數(shù)。

          javascript怎么定義類數(shù)組對象

          本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

          js中類數(shù)組對象很多,概念簡單的講就是看上去像數(shù)組,又不是數(shù)組,可以使用數(shù)字下標方式訪問又沒有數(shù)組方法。

          例: arguments , NodeList , HTMLCollection , jQuery 等

          類數(shù)組對象特性

          1、擁有 length 屬性

          var a=document.getElementsByTagName("p"); a.__proto__;// HTMLCollection {} 屬于類數(shù)組對象a.length;//62

          2、可以使用數(shù)字下標的方式訪問對象

          a[0];//<p class="aspNetHidden">…</p>

          3、不能使用數(shù)組原型的方法(如 slice , pop 等)

          a.slice;//undefined Error! a.pop;//undefined Error!

          4、使用 instanceof 操作不屬于 Array

          [] instanceof Array;//true a instanceof Array;//false

          5、可以轉(zhuǎn)換為真數(shù)組對象

          var arr = Array.prototype.slice.call(a); arr instanceof Array;//true

          PS:注意在IE8下部分對象無法使用slice方法轉(zhuǎn)換為真數(shù)組對象。

          建議使用jquery提供的 $.makeArray() 方法轉(zhuǎn)換類數(shù)組對象

          6、通常可定義有其他自定義屬性

          a.item;//function item() { [native code] }

          類數(shù)組對象優(yōu)點

          關(guān)于優(yōu)點我相信不用太多描述,可以讓js和其他后臺語言擁有相同的操作方式。

          如C#的某些list集合,可以使用數(shù)字下標 list[0] 來訪問或是使用字符串名稱 list['name'] 來訪問同一對象

          同時還擁有各種自定義方法,自定義屬性,看jquery對象的優(yōu)雅的訪問方式即可知是如此美妙的對象。

          如何手動創(chuàng)建類數(shù)組對象

          回歸主題,如何手動創(chuàng)建類數(shù)組對象。

          1、首先創(chuàng)建一個空對象

          var array_like = {};//創(chuàng)建一個空對象

          2、為對象直接定義數(shù)字下標的屬性,這在其他語言里是絕對不允許的,對象屬性不能使用數(shù)字開頭,但JS里是可以的,甚至使用中文都可以

          array_like[ 0 ] = "test 0"; array_like[ 1 ] = "test 1"; array_like[ 2 ] = "test 2"; array_like[ 3 ] = "test 3";

          3、關(guān)鍵點,為對象設(shè)置length屬性和splice屬性為數(shù)字和函數(shù)

          //關(guān)鍵點 array_like.length = 4;//為對象設(shè)置length屬性 array_like.splice = [].splice;//同時設(shè)置splice屬性為一個函數(shù)

          PS:設(shè)定splice屬性其實是為了欺騙瀏覽器的控制臺,另其顯示出數(shù)組的模樣,可以參考這里

          4、測試

          //設(shè)定自定義屬性 array_like.test0=array_like[0]; array_like.test1=array_like[1]; //直接輸出 console.log( array_like );//['test 0','test 1'...] //類型 console.log( $.type( array_like ) );//"object" //數(shù)字下標訪問 console.log( array_like[ 0 ] );//"test 0" //自定義屬性訪問 array_like.test0;//"test 0" //不是數(shù)組對象 array_like instanceof Array;//false //轉(zhuǎn)換為真數(shù)組對象 var Arr=Array.prototype.slice.call(array_like); Arr instanceof Array;//true

          5、全部代碼:

          var array_like = {};  array_like[ 0 ] = "test 0"; array_like[ 1 ] = "test 1"; array_like[ 2 ] = "test 2"; array_like[ 3 ] = "test 3";  array_like.length = 4; array_like.splice = [].splice;  console.log( array_like ); console.log( $.type( array_like ) ); console.log( array_like[ 2 ] );

          【推薦學(xué)習(xí):javascript高級教程】

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號