表現:定数、変数、配列アクセス式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 //falseinstance of: 左は対象(例)で、右は対象のクラス(関数)です.eg:var d=new Date(). d instance of Date //true すべてのオブジェクトはObjectの例です.偽の値:false、null、undefined.0、NaNと「」.他の値は対象が全部本当の値です.2015-07-721:31