JavaScript系統學習小結——Object類型、Array類型

 

今天學習JavaSript中引用變量中的Object類型和Array類型:javascript

  1. Js中大多數引用類型值都是Object類型的實例,Object類型在應用程序中存儲和傳輸數據時,是很是理想的選擇;java

  • 建立Object實例的方法有兩種:
    • 一種是使用new操做符後跟Object構造函數;以下
      var person = new Object();
      
      person.name = "Jan";
      
      person.age =22;
      
    • 另外一種是使用對象字面量表示法:
      var person = {
      
        name : 「Jan」,
      
      age : 22
      
      };
      
    • 在開發中更多的使用的是對象字面量表示法,由於這種語法要求的代碼量少,並且可以給人封裝數據的感受;
    • 對象字面量也是向函數傳遞大量可選參數的首選方式;
  • 在訪問對象屬性時,有兩種方式:
    • 一種是點表示法:如(person.name)
    • 另外一種是方括號表示法;如(person[「name」])若是屬性名中包含致使語法錯誤的字符,或者屬性名使用的是關鍵字或者保留字,適合使用方括號表示法;

  2. Array類型 數組

  • Js中的數組的每一項能夠保存任何類型的數據;
  • 建立數組有兩種方式:
    • 第一種使用Array構造函數,也能夠省略new;
      var color = new Array();
      
    • 第二種基本方式是使用數字字面量表示法:
      var color = [‘red’,’ blue’];
      
  • 數組的length屬性不是隻讀的,經過該屬性,能夠從數組的末尾移除項或向數組中添加新項;
  • 在檢測數組類型時,Array.isArray()方法好用比instanceof操做符好用;Array.isArray()不考慮檢測值是在哪一個全局執行環境中建立的(網頁中包含多個框架,存在多個不一樣的全局變量時);
  • 數組的轉換方法有:toLocaleString(), toString(), valueOf()和join()方法;
    • 其中join()方法,是根據接收不一樣的參數做爲分隔符來構建字符串;
    • 數組能夠表現的像棧(後進先出),利用push()插入,pop()移除;
    • 數組能夠表現的像隊(先進先出),利用push()插入,shift()移除;
    • 數組能夠模擬反方向的隊,利用unshift()插入,pop()移除;
    • 數組的排序方法有:reverse(),sort()方法;
      • Reverse()方法會反轉數組項的順序;
      • Sort()方法比較的是字符串,按升序排列數組項;
      • Sort()方法能夠接收一個比較函數做爲參數,完善對其餘基本數據類型的比較;
        function compare(val1, val2) {
            if(val1 > val2){
                return -1;
            }else if(val1 < val2){
                return 1;
            }else{
                return 0;
            }
        }
        
  • 數組的操做方法有:concat()續接,slice()截取子串, splice()刪插換方法;
  • 數組的位置查詢方法有:indexOf(), lastIndexOf()方法,一個是從開頭向後查找,一個是從尾部向前查找;
  • 數組的迭代方法有:every(), filter(), forEach(), map(), some();
    • Every()和some()方法相似,但前者是每一項都符合傳參函數的檢驗才返回true,後者是隻要有一項符合就返回true;

 

    • Filter()方法是返回在傳參函數中爲true的項組成的數組;
    • ForEach()和map()方法相似,forEach()沒有返回值;
    • 數組的歸併方法有:reduce(), reduceRight();這兩個方法都會迭代數組的全部項,而後構建一個最終返回的值。不一樣的是,前者是從開頭向最後一項,後者反之;
相關文章
相關標籤/搜索