javascript筆記-遺漏補完2-引用タイプ

9472 ワード

参照の種類は、データと機能を一緒に組織するためのデータ構造である.これは、ある種のオブジェクトが持つ属性と方法を述べている.Objectは基本タイプで、Arayは配列タイプ、Dateは日付タイプ、RegExpは正規表現タイプなどです.
  • Objectタイプ
  •  作成:
    var dog = new Object();
    データを記憶および伝送するためによく使用されるべきである.たとえば保存:
    var person = new Object();
            person.name = "Nicholas";
            person.age = 29;
    作成の第二の方法:属性名は、作成時に文字列形式でも良いです.すなわち、属性名に引用符を付けてもいいです.
    var person = {
                name : "Nicholas",
                age : 29
            };
     
  • 属性値を取り出す:person[name]または:person.name;
  • Arayタイプ
  • 同じ配列は、任意のタイプのデータ(おでん)を保存することができる.
  • 配列は動的に調整できます.(一つ多くのデータを追加すると、自分で長さを増やします.死ではありません.)
  • 作成:
    var stars=new Array();//  1
    var stars=new Array(20);//  2
    var stars=new Array("   ","   ","   ");//  3
    var stars=Array(20);//  4
    var stars=["   ","   ","   "];//  6
     
  • 動的調整例:
    var stars=["   ","   ","   "];
    stars[1]="JJ";//    (      JJ)
    stars[3]="   ";//    (      )
    stars.length=1;//      (   、   、       ,    1)
     
  • 検出配列:Aray.isAray(value);
  • は、join()で配列をセパレータ付き文字列に変換する.
    var stars = ["   ", "   ", "   "];
            alert(stars .join(","));      //   ,   ,   
            alert(stars .join("-"));     //   -   -   
     
  • は、スタックのように配列(pop()を使用して出てきて、プッシュ()を入れることができます.
  • は、行列のように配列を使用することができる.(shift()とpush():
    var stars = new Array();                      //create an array
            var count = colors.push("   ", "   ");       //push two items
            alert(count);  //2
            
            count = stars .push("   ");                  //push another item on
            alert(count);  //3
            
            var item = colors.shift();                     //get the first item
            alert(item);   //   
            alert(colors.length);  //2
    /**      ,             */
     
  • 並べ替え
  • reverse()反転配列の順序.(並べ替えられた配列を返します)
  • sort()は小さい時から大きい順に並べられています.しかし、文字列で並べ替えられています.数字で並べ替えられているものではありません.
    1  var values = [0, 1, 5, 10, 15];
    2         values.sort();
    3         alert(values);    //0,1,10,15,5
    あなたの予想通りに並べ替えたいなら、sort()に比較関数を加えてパラメータとして使用できます.
    function compare(value1, value2) {
                if (value1 < value2) {
                    return -1;
                } else if (value1 > value2) {
                    return 1;
                } else {
                    return 0;
                }
            }
            
            var values = [0, 1, 5, 10, 15];
            values.sort(compare);
            alert(values);    //0,1,5,10,15
    簡略化されたバージョンの比較関数(sortは正数か負かそれとも0かにのみ関心があります):
    function compare(value1,value2){
      return value2 - value1;  
    }
     
  • 組の配列の動作:連結、スライス、スティッチング.
  • 連結:concatを使って、記憶:concat-->concatentate:連結、連鎖.例:
    var stars = ["   ", "   ", "   "];
            var stars 2= stars .concat("   ", ["   ", "   "]);
            
            alert(stars);     //   ,   ,         
            alert(stars2);    //   ,   ,   ,   ,   ,   
     
  • スライスです.sliceを使って、記憶:slice翻訳:スライス.例:
    var stars = ["   ", "  ", "  ", "  ", "  "];
            var stars2= stars.slice(1);
            var stars3= stars.slice(1,4);
            
            alert(stars2);   //  ,  ,  ,  (         )
            alert(stars3);   //  ,  ,  (  1      3   ,4     ,   )
     
  • スプライスです.splice機能が強い.削除、挿入、置換ができます.
  • は、任意の数の項目を削除します.例えば、splice(0,2)は、0,1項(半閉鎖区間)を削除します.
  • 指定された位置に任意の数の項目を挿入します.例えば、splice(2,0)「周杰倫」、「王尼瑪」)は第2の位置から周杰倫、王尼瑪の2つの項目を挿入します.
  • は、位置に任意の数の項目を挿入し、同時に任意の数の項目を削除することを指定します.例えば、splice(2、1、「周杰倫」、「王尼瑪」)は、2番目の位置から1項目削除して、周杰倫、王尼瑪の2項目を挿入し始めます.
  • 位置方法:indexOf、lastIndexOf;
  • 反復方法:すべての合格者が合格し、いずれかの合格者が合格し、一部のスラグをフィルタリングし、一対のマッピング、反復クエリ、縮小する.
  • 全部合格しました.
    var numbers = [1,2,3,4,5,4,3,2,1];
            
            var everyResult = numbers.every(function(item, index, array){
                return (item > 2);
            });
            
            alert(everyResult);       //false
    上記の例のどれも2より大きいです.trueに戻ります.
  • のいずれかに合格したら合格します.
    var numbers = [1,2,3,4,5,4,3,2,1];
            
            var someResult = numbers.some(function(item, index, array){
                return (item > 2);
            });
            
            alert(someResult);       //true
    上記の例では、2より大きいものがあります.trueに戻ります.
  • フィルター部分のスラグ:
    var numbers = [1,2,3,4,5,4,3,2,1];
            
            var filterResult = numbers.filter(function(item, index, array){
                return (item > 2);
            });
            
            alert(filterResult);   //[3,4,5,4,3]
    上の例では、2より大きいものを全部フィルタします.
  • ペアマッピング:
    var numbers = [1,2,3,4,5,4,3,2,1];
            
            var mapResult = numbers.map(function(item, index, array){
                return item * 2;
            });
            
            alert(mapResult);   //[2,4,6,8,10,8,6,4,2]
    上記の例では、各項目に2を乗じます.
  • 反復:for-eachを使用する.
  • 縮小:reduce.
    var values = [1,2,3,4,5];
            var sum = values.reduce(function(prev, cur, index, array){
                return prev + cur;
            });
            alert(sum);//15
    加算と戻りは、5項を1項に短縮します.
  • RegExpタイプ
  • var expression=/pattern/flags;
  • flaggglobalグローバルモードは、すべての文字列に適用されます.i(case-innsensive、文字の大きさを無視して書きます.)、m(multiiline、マルチラインモードで、1行の検査が終わりました.次の行に続きます.)に分けられます.例:
    /**        'at'   */
    var pattern1=/at/g;
    /**     'bat' 'cat',     */
    var pattern2 =/[bc]at/i;
    /**     'at'   3     ,     */
    var pattern3=/.at/gi;
     
  • モードのすべてのメタ文字は、変換されなければなりません.
  • Functionタイプ
  • は、関数ごとにFunctionタイプの例であり、他の参照タイプと同様に属性と方法がある.
  • 関数の2つの定義方法:方法1:
    function sum(a,b){
       return a + b;  
    }
    方法2:
    var sum=function(a,b){
     return a + b;
    }
     
  • 関数には重負荷がありません.
  • Boolean、Number、String:基本包装タイプ
  • var a="Jay Chou is a superstar";
    var b=a.substring(0,8);
    上記の例では、aは基本タイプであるが、aは、自動的にバックグラウンドがaの包装動作を完了し、Stringタイプの一例を作成するので、substring方法を呼び出すことができる.Boolean、Numberも似ています.
  • 単体でオブジェクトを内蔵し、実用化を必要とせず、直接使用する.例えば、Math、Global.
  • すべての大域作用領域で定義されている関数、変数は、Globalオブジェクトの方法であり、例えば、PArseInt、isNaNなどである.
  • eval()メソッドもGlobalオブジェクトの方法であり、javascriptの解析を担当しています.
  • Mathオブジェクトは、数学式および関連情報を保存するものである.これは多くの方法があります.例えば、minは最小値を求めて、maxは最大値を求めて、ceil()は上に整理して、florは下に整理して、roundは四捨五入して、ランダム数を取ります.