<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-124  評論-49  文章-56  trackbacks-0

     /*
     由于javascript是一種無類型語言,所以一個數(shù)組的元素可以具有任意的數(shù)據(jù)類型,同一個數(shù)組的不同元素
     可以具有不同的類型,數(shù)組的元素設置可以包含其他數(shù)組,這樣就可以創(chuàng)建一個復雜的數(shù)組了.
     并且在這點上說javascript作為一種腳本語言不同于那種嚴格的面向對象的c++.c#,java了.具有更高的靈活性.
     */

     /*
     *在javascript1.1和其后的版本中,數(shù)組是用構造函數(shù)Array()和運算符new來創(chuàng)建,
     可用以下的三種方式來創(chuàng)建javascript 中的數(shù)組.
     */
     var a=new Array();
     var b=new Array(5,4,3,"first","test,string");
     var c=new Array(20);

     a[1.23]="test";
     document.write("a[1.23]="+a[1.23]);
     //相信每位從強類型的編程語言學習javascript時,絕對會以為上面這種操作感到驚訝,
     //float數(shù)據(jù)也作數(shù)組的下標了,事實上                       并非如您所想       
     //javascript在您是用負數(shù),浮點數(shù),(或布爾型,對象,其他值時),javascript會將它轉換為一個字符串
     //用生成的字符串作為對象的屬性名字,而不是定義了一個新的數(shù)組元素
     //上面的實例事實就是為a 創(chuàng)建了一個名為:"1.23"的屬性.
     document.write("a.length="+a.length);
     document.write("b.length="+b.length);
     document.write("c.length="+c.length);

     a[3]="Test";
     document.write("<br />a[3]="+a[3]);
     document.write("<br/>a.length="+a.length);
     //以上測試也很明確我們用整數(shù)作為數(shù)組的下標是才會真正為數(shù)組添加一個元素,
     //這里用數(shù)組的長度來體現(xiàn)了javascript的數(shù)組中的奧妙。


     //通過設置數(shù)組的length屬性能過截斷數(shù)組的長度。
     a.length=3;
     if (a[3]==undefined)
     {
      document.write("<br />在a.length="+a.length+"后,a[3]="+a[3]);
     }
     else
     {
        document.write("<br />在a.length="+a.length+"后,a[3]="+a[3]);
     }

     //這里測試我們的多維數(shù)組元素
     /*
     *javascript中實際上是不支持多維數(shù)組
     *但是我們將一個一維數(shù)組的元素再賦給其一個一維數(shù)組,這樣就看起來就實現(xiàn)了多維數(shù)組了,但
     實際上他還是個一維數(shù)組,這和我們理解c語言的數(shù)組時的那種想法一樣,但他們的實現(xiàn)機制是不一樣的。
     */
     var g=new Array(3);
     g[3]=a;
     g[3][2]="Test"
     document.write("<br />g[3][2]="+g[3][2]);
     
      //數(shù)組join()方法
      for (var i=0;i<20 ;i++ )
      {
     c[i]=i;
     document.write("<br />c[i]="+c[i]);
      }
      document.write("<br/>c的元素join()方法后是:"+c.join());
      //數(shù)組的reverse()方法
      c.reverse();
      document.write("<br />c的元素在reverse()方法再join()后的結果是:"+c.join("|"));

      //concat()方法的測試
      var h=new Array(1,2,3);
      h= h.concat([4,5]);
      //但是concat函數(shù)不會遞歸地展開一個元素為數(shù)組的數(shù)組。
      h=h.concat(6,7,[9,[10,20]]);
      document.write("<br />h.length="+h.length+"<br />"+h);
      document.write("h[8]="+h[8]);


      //slice()方法
      document.write("<br>h.slice(4,5)="+h.slice(4,5));
    document.write("h.slice(5,9)="+h.slice(5,9))
    //slice()方法:返回的數(shù)組包含有第一個參數(shù)指定的元素和那個元素開始到第二個參數(shù)指定的
    //元素為止的元素但不包含第二個參數(shù)所指定的元素。


    //splice()方法
    //splice()方法是插入或刪除數(shù)組元素通用的方法。
    /*
    splice函數(shù)第一個參數(shù)指定了要插入或刪除的元素在數(shù)組中的位置。
    第二個參數(shù)指定了要從數(shù)組中刪除的元個數(shù)
    在第二參數(shù)之后可以有任意多個參數(shù),它們指定的是從第一個參數(shù)指定的位置處插入的元素。
    第一個元素及后續(xù)元素,做出相應的移動。
    */

    document.write("<br />h.splice(8,1)后的h為::"+h.splice(8,1));
    //document.write("<br />h.splice(8,0,'a','b','Test')后的h為::"+h.splice(8,0,'a','b','Test'));
    h.splice(7,0,'a','b','Test');
    document.write("<br />h.splice(7,0,'a','b','Test')后的h為:"+h);


    //javascript中的數(shù)組作為堆棧時和php類似
    //這點有趣更有用。
    //以下是作為堆棧是使用的小實例
    /*
    push方法是將一個或多個新元素附加到數(shù)組的尾部,然后返回數(shù)組的新長度。
    pop將刪除數(shù)組的最后一個元素,堅守數(shù)組的長度,返回他刪除的值。
    */
    var stack=new Array();
    stack.push(1,2);
    document.write("<br>stack的元素是:"+stack);
    document.write("<br />stack.length="+stack.length);
    document.write("<br>stack.pop()返回的結果是:"+stack.pop());
    document.write("<br />stack.length="+stack.length);

    //以下是作為隊列使用的小實例
    /*
    unshift方法將一個或多個元素添加到數(shù)組元素的頭部,然后把已有的元素移動到下標最大的位置已騰出空間
    ,它返回的是主族的新長度。
    方法shift是刪除并返回數(shù)組的第一個元素,然后將后面的所有元素都向前移動以填補第一個元素留下的空白。
    */
    var list=[];
    list.unshift(6,2);
    document.write("<br >list的內容為:"+list);
    document.write("<br>list的shift方法是:"+list.shift());

    //此外就剩下,我們在java中熟悉的toString()方法 了
    //It's a piece of cake!
    document.write(c.toString());
    //說白了,其實數(shù)組的toString()方法和無參數(shù)的join()的效果是完全相同
    //OK,this's chapter for Array,that's all!

    </script>

    posted on 2009-10-29 13:27 junly 閱讀(153) 評論(0)  編輯  收藏 所屬分類: ajax/jquery/js
    主站蜘蛛池模板: 人人公开免费超级碰碰碰视频 | 日韩免费在线中文字幕| 成人免费无码大片A毛片抽搐色欲 成人免费无码大片a毛片 | 一区二区3区免费视频| 国产三级电影免费观看| 国产亚洲精品精品精品| 国产乱色精品成人免费视频| 国产亚洲精品美女| 国产亚洲精品线观看动态图| 中文字幕乱码一区二区免费| 久久亚洲美女精品国产精品 | 狼群影院在线观看免费观看直播| 亚洲视频在线观看不卡| 亚洲国产精品免费观看| 涩涩色中文综合亚洲| 国产成人免费高清在线观看| 国产成人+综合亚洲+天堂| 亚洲精品岛国片在线观看| 美女被免费网站91色| 亚洲日本中文字幕区| 日韩一区二区a片免费观看| 亚洲av乱码一区二区三区按摩 | 亚洲精品在线观看视频| 1000部国产成人免费视频| 亚洲成a人无码亚洲成av无码| 亚洲国产精品无码久久九九| 国产白丝无码免费视频| 国产亚洲中文日本不卡二区| 亚洲精品第一国产综合境外资源 | 日韩一区二区在线免费观看| a免费毛片在线播放| 久久亚洲精品中文字幕| 超pen个人视频国产免费观看| 中文字幕在线免费视频| 91亚洲精品自在在线观看| www亚洲一级视频com| 98精品全国免费观看视频| 亚洲av成本人无码网站| 午夜亚洲国产理论秋霞| 国产公开免费人成视频| 七色永久性tv网站免费看|