javascript権威ガイド第四章表現と演算子

2588 ワード

  • 表現:定数、変数、配列アクセス式data=[1,2,3]を含む.
  • 演算子は、単純表現を複雑な表現にするための一般的な方法です.
  • 元の表現:定数や直接量、キーワードや変数.
  • オブジェクト、配列の初期化表現は、実際に新しく作成されたオブジェクトと配列であり、これらの初期化表現は、「オブジェクト(配列)直接量」とも呼ばれ、配列初期化表現における要素初期化表現は、配列初期化式(つまり、入れ子)の例としてもよい.;配列直接量の要素は省略できます.すなわち、var sparsearray=[1,5];
  • オブジェクト初期化表現類似配列:var p={x:2,y:3}、以下のようにネストすることもできます.
  • var rectangle = {
    
        upperLeft:{x:2, y:2}, 
    
        lowerRight:{x:4, y:5}
    
    }
  • 属性アクセス式演算は、1つのオブジェクト属性または1つの配列要素の値を得ることができます.2つの文法:expression.identiferとexpression[expression]例:
    var o = {x:1, y:{z:3}};
    
    var a = [o, 4, [5, 6]];
    
    o.x                //1
    
    o.y.z              //3
    
    o["x"]             //1
    
    a[1]               //4
    :identifier , , ( ) “[]”.
  • 演算子:一元、二元、三元(1、2、3つの操作数)
  • 左値:表現は賦値演算子左側のみ、javascript中変数、対象属性、配列はすべて左値です.   属性アクセス式と呼び出し式は演算子より優先されます.eg:typeof my.function[x](y)ここでtypeofは最後に実行されます.
  • 「+」演算子、「1」+2   //「12」        1+{}     //「1[object Objec]」   次の2つの注意演算手順:1+2+「blind mice」. //「3 blind mice」      1+(2+「blind mice」) //「12 blind mice」
  • ++直接コードを見る:(--同じ道理)
    var i = 1, j = ++i;       // j,i   2
    
    var i = 1, j = i++;        //i = 2, j = 1  
    本では+iは前のインクリメント、iは1を加算し、計算後の値を返します.i+は後の増分、iは1を加算しますが、増加した値(元の値)に戻ります.++は右の結合のため、+iは右の計算に持ち込まれました.i+は左の方で、ここに実行されていないので、45918の値を返します.
  • オブジェクト変換はまずvalueOf()を使い、tostring()を考慮して、すべての大文字のASCII文字<小文字のアルファベット.
  • in演算子.  左の操作数は文字列で、右の操作数は1つのオブジェクトです.eg:var point={x:1、y:2}、「x」in point //true    「z」in point //false
  • instance of: 左は対象(例)で、右は対象のクラス(関数)です.eg:var d=new Date().   d instance of Date   //true    すべてのオブジェクトはObjectの例です.
  • 偽の値:false、null、undefined.0、NaNと「」.他の値は対象が全部本当の値です.2015-07-721:31