<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      私人定制javascript中數組小知識點(Only For Me)

      先上笑話,1.剛看到一個游泳的,想起公司組織去三亞旅游,老板跳海里,各種掙扎,撈上來老板第一句話:我記得我會游泳的啊。
      2.媳婦說:老公對不起,我把你新買的自行車撞散架了! 老公:沒事寶貝,你若安好,便是晴天! 媳婦說:老公你太有詩意了。 老公:滾犢子,安不好我整死你!

      數組的概念

      javascript數組是值得有序集合,不過它實屬一個javascript對象的特殊形式,這是一個很重點的定性。

      創建數組

      1.var a=new Array();//等同于[]

      2.var a=new Array(10); //指定長度的數組

      3.var a=new Array(1,2,“marry you”);

      4.var a=[];

      數組是動態的
      首先數組是可以通過[]來訪問數組元素,使用此語法可以讀寫數組,其中[]內的是小于232非負整數作為屬性名時數組會自動維護其length。首先清晰的區分數組的索引和對象的屬性名,所有的索引都是屬性名,但只有0~232-2之間的整數屬性名才是索引。

      所有的數組都是對象,可以給數組對象創建任意名字的屬性。但是如果使用的屬性是數組的索引,數組的特殊行為就會更具需要去更新其length屬性值。

      這會糾正一個javascript數組“越界”錯誤的概念,如果試圖訪問數組索引超出其長度,則不會報錯,只會返回undefined值。

      稀疏數組和稠密數組

      概念是值包含從0開始的不連續索引的數組。也可以這么理解,就是length屬性值大于元素的個數。那么這樣就會比正常的稠密數組在內存利用率更高,但查找效率基本一致。

      此時可以用in來檢測

      var a1=[,,,];

      0 in a1//false

      數組元素的添加和刪除

      最簡單的刪除方式是var a=[1,2,4]; a.length=0;

      同樣你也可以用Object.defineProperty()讓數組length屬性變成只讀

      var a=[1,2,4];
      Object.defineProperty(a,"length",{writable:false});
      a.length=0;
      console.log(a);
      //[1, 2, 4]

      添加用push(1,3,4,5,7)//此處可以一次性添加多個元素

      delete a[1]是不會修改數組a的length屬性,就相當于給刪除元素位置賦值undefined值,那么改數組也就變成了稀疏數組了。所以應該用pop()該函數會返回刪除的元素

      數組遍歷

      遍歷數組用for/in或for。前者遍歷是沒有一定順序,所以可以用forEach(ECMAScript 5中的新增的函數)或者for來代替,同時遍歷是最好緩存數組長度例如

      for(var i=0,alength=a.length;i++){
      //循環體
      }
      
      for(var i in a){
      if(!a.hasOwnProperty(i)){
      continue; //跳出循環體
      //循環體
      }
      }

      數組的方法

      常用方法有join()/reverse()/sort()/concat()/slice()/splice()/push()/pop()/unshift()/shift()/toString()/toLocalString()

      如果你對以上都了解,那么我還是想說說其中一個方法

      如果用排序少不了sort它是按照字符排序,如果遇到數字或者對一些處理后的字符排序怎么做呢

      sort()該方法可以傳一個匿名函數作為參數,該匿名函數就可以滿足我們的一些特殊要求了,

      a=['a',"bug","Good","ccc"];
      a.sort(function(s,t){
      var a=s.toLowerCase();
      var b=t.toLowerCase();
      if(a<b) return -1;
      if(a>b) return 1; 
      return 0; 
      });     
      //["a", "bug", "ccc", "Good"]

       

      ECMAScript 5中新增數組方法

      forEach()//遍歷數組,按順序輸出,如果要break;就要用try catch來輔助了。

      map()// a=[1,2,3]; a.map(function(x){return x*x;}) //[1,4,9];

      filter()//a=[5,3,4,5,6]; a.filter(function(x,i){return i%2==0});//[4,6]

      every()/some()/reduce()/reduceRigth()/indexOf()/lastIndexOf()等如果不知道就谷哥吧。

      這里要說一點的是字符串的行為類似于數組的事實使得通用的數組方法可以應用到字符串上。

      例如:

      Array.prototype.filter.call("javascript",function(x){return x.match(/[^aeiou]/);}).join("");
      
      //"jvscrpt"

      結束語

      簡單總結就是數組表現出來的很多東西的本質其實是因為它是對象而決定的。數組中大多數的方法都是通用的,這就意味著它不僅對數組對象有效,而且對”類數組對象同樣有效“如字符串行為就與字符數組類似。如果你覺得不錯,那就推薦一下。

      posted @ 2014-06-24 23:17  早起的小餅干  閱讀(917)  評論(3)    收藏  舉報
      主站蜘蛛池模板: 亚洲AV无码成H人动漫无遮挡| 日韩大尺度一区二区三区| 无码毛片一区二区本码视频| 好了av四色综合无码| 国产在线亚州精品内射| 一区二区三区鲁丝不卡| 国产日韩AV免费无码一区二区三区| 成人无码一区二区三区网站| 日本国产精品第一页久久| 97精品久久九九中文字幕| 国产亚洲精品成人aa片新蒲金 | 天天看片视频免费观看| 国产精品小仙女自拍视频| 亚洲+成人+国产| 性男女做视频观看网站| 亚洲欧美综合精品成| 久草热久草热线频97精品| 延边| 久久精品国产一区二区三| 无码国产偷倩在线播放| 4hu四虎永久免费地址ww416| 精品国产午夜理论片不卡| 青青青爽在线视频观看| 国产av无码专区亚洲草草| 免费人成网站免费看视频| 国产av亚洲精品ai换脸电影| 曰韩无码二三区中文字幕| 日韩精品中文女同在线播放| 人妻聚色窝窝人体WWW一区| 年轻女教师hd中字3| 亚洲国产精品线观看不卡| 狂躁女人双腿流白色液体| 二区三区亚洲精品国产| 欧美黑人巨大videos精品| 西西人体www大胆高清| 十八禁午夜福利免费网站| 国产一级特黄性生活大片| 久久精品国产亚洲av热一区| 午夜爽爽爽男女免费观看影院| 国产高清视频一区二区乱| 别揉我奶头~嗯~啊~的视频|