javascript表現と演算子の詳細解
一、js表現
定義:式とは、任意の利用可能なプログラムユニットを計算することができます。 ――wiki
表式はjsの短語ですが、jsインタプリタは値を生成するために使います。 ――js《権威の手引き》
1.元の表現。
定数/直接量:3.14/「test」など
キーワード:null、this、true、falseなど
変数:i,k,jなど
複合式:元の表現と元の表現の間に演算子を接続すると、複合式を構成することができます。
例えば、10*20は複合式です。
2.(配列、オブジェクトの)初期化表式。
たとえば:
[1,2] に等しい new Aray(1,2);
[1,2] に等しい new Aray(1、undefined、undefined、2)
{x:1,y:2}は var obj=new Object()
4.属性アクセス式。
5.式を呼び出す。
func(); を使用して関数を呼び出します。このような表現を呼び出し式と呼びます。
6.オブジェクトの表現を作成します。
たとえば:
new Fun(1,2);パラメータがなければnew Objectもできます。空のオブジェクトを作成することも合法です。
二、js演算子(一般的には式間の演算に使用されます。)
1.演算子の操作数に応じて:
一元演算子:+num
二項演算子:a+b
三項演算子:c?a:b
2.機能による区分:
賦値:x+=1(または-==など)
比較:a==b
算数:a-b
位:a|b
論理:exp 1&exp 2(または非)
文字列:「a」+「b」
特殊:delete obj.x
特殊演算子について説明します。
条件演算子:var c=true?1:2 //c=1
コンマ演算子:var val=(1,2,3) // val=3 左から右へ順番に計算して、最後のものを取ります。
delete演算子:オブジェクトの属性を削除します。
--たとえば:
例:
例:window.x=1;windowはいったいxがあるかどうか知りたいです。私達はinを使えます。
5.new演算子
例えば、関数コンストラクタを作成します。function Foo(){}
私たちはobj.hasOwnProperty(「x」)を通じてfalseはこの属性が対象かそれとも対象かを判断します。
obj._プロト原型を取って、obj._プロト.ハスOwnProperty(「x」) //trueの説明は原型になっています。
6.this演算子。
7.void演算子。
8.演算子の優先度は、複雑な表現を読み取るのに役立ちます。
以上が本文の全部です。本文の内容は皆さんの学習や仕事に一定の助けをもたらしてくれると同時に、私達を応援してください。
定義:式とは、任意の利用可能なプログラムユニットを計算することができます。 ――wiki
表式はjsの短語ですが、jsインタプリタは値を生成するために使います。 ――js《権威の手引き》
1.元の表現。
定数/直接量:3.14/「test」など
キーワード:null、this、true、falseなど
変数:i,k,jなど
複合式:元の表現と元の表現の間に演算子を接続すると、複合式を構成することができます。
例えば、10*20は複合式です。
2.(配列、オブジェクトの)初期化表式。
たとえば:
[1,2] に等しい new Aray(1,2);
[1,2] に等しい new Aray(1、undefined、undefined、2)
{x:1,y:2}は var obj=new Object()
obj.x = 1;obj.y = 2;
3.関数式。var fn = function(){};
または:(function(){ console.log("hello") })();
関数表現を理解していないと、対応する紹介があります。4.属性アクセス式。
var obj = {x:1}
私たちは通過できます obj.xまたはobj[x]がその属性にアクセスします。このような表現は属性アクセス表現と呼ばれます。5.式を呼び出す。
func(); を使用して関数を呼び出します。このような表現を呼び出し式と呼びます。
6.オブジェクトの表現を作成します。
たとえば:
new Fun(1,2);パラメータがなければnew Objectもできます。空のオブジェクトを作成することも合法です。
二、js演算子(一般的には式間の演算に使用されます。)
1.演算子の操作数に応じて:
一元演算子:+num
二項演算子:a+b
三項演算子:c?a:b
2.機能による区分:
賦値:x+=1(または-==など)
比較:a==b
算数:a-b
位:a|b
論理:exp 1&exp 2(または非)
文字列:「a」+「b」
特殊:delete obj.x
特殊演算子について説明します。
条件演算子:var c=true?1:2 //c=1
コンマ演算子:var val=(1,2,3) // val=3 左から右へ順番に計算して、最後のものを取ります。
delete演算子:オブジェクトの属性を削除します。
--たとえば:
var obj = {x:1}
obj.x //1
delete obj.x
obj.x //undefined
IE 9から始めて、私達は対象にconfigrableのラベルを設けることができて、configrable:trueの時に属性はdeleteに落ちることができます。例:
var obj = {}
Object.defineProperty(obj, 'x', {
configurable:false,
value:1
});
delete obj.x
obj.x //1
3.in演算子。例:window.x=1;windowはいったいxがあるかどうか知りたいです。私達はinを使えます。
”x“ in window; // true
4.instance of 前の章でtypeofと詳しく紹介しましたが、忘れたら行ってみてもいいです。5.new演算子
例えば、関数コンストラクタを作成します。function Foo(){}
Foo.prototype.x = 1;
new演算子でオブジェクトを作成できます。objvar obj = new Foo();
このようにobj.x; //1私たちはそのコンストラクタのプロトタイプの属性から1をもらうことができます。私たちはobj.hasOwnProperty(「x」)を通じてfalseはこの属性が対象かそれとも対象かを判断します。
obj._プロト原型を取って、obj._プロト.ハスOwnProperty(「x」) //trueの説明は原型になっています。
6.this演算子。
this; //window( )
var obj = {
func:function(){
return this;
}
}
obj.func(); // obj
this演算子も特殊です。これは後で詳しく説明します。7.void演算子。
void 0 //undefined
void (0) //undefined
voidは後の操作数に関わらず、返ってくるのはundefinedです。8.演算子の優先度は、複雑な表現を読み取るのに役立ちます。
以上が本文の全部です。本文の内容は皆さんの学習や仕事に一定の助けをもたらしてくれると同時に、私達を応援してください。