JavaScript関数の名前空間シミュレーションゲッター、セッター

関数の名前空間

JavaScriptでは、関数は、独自の名前空間持つことができます
たとえば、このコード:

1 
2
3
4
5
6
7
8
機能 { 返す「私はAです」}



A.hello = 'こんにちは!' ;

コンソールの.log(A())。
コンソールの.log(A.hello)。

私たちは、コンソールに次のように取得できます。

1 
2
私は
ハロー!

Aが関数として宣言されていても見つけることができる、それはまだ他の属性に割り当てるのと同じオブジェクトをすることができ、本来の機能への直接呼び出し自体または機能

ゲッター、セッター

JavaScriptでは、これはあなたが参照することができ、オブジェクトを呼び出すと、ここで
私たちはこのように書かネーミングの特性を組み合わせることができますので、

1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
機能 { 名= 「ジョン」 ; LETの性別= 「MALE」 ; <大きいカラムのJavaScript関数の名前空間アナログゲッターで、セッタースパン=クラス「行」>  関数F



  {
}

f.Name = 機能_ { 場合(!引数が .LENGTH){ 返す名前を。 } NAME = _。返すこれを } f.Gender = 関数_ { 場合(!引数が .LENGTH){ 戻り性別。 } 性別= _。返すこれを }















リターン F;
}

CONST A = A();

コンソールの.log(a.Name())。
コンソールの.log(a.Gender())。

ここでは、Aの名前で二つの変数の関数を定義し、性別
及びAは、アクセス彼らのゲッターとセッターのような2つの機能で使用された
私たちはa.Nameとa.Genderに任意の引数を渡さない場合、それは次のようになります彼らは2つのローカル変数を介し得、したがって、コンソールがここに印刷されます。

1 
2
ジョン・
男性

そして、我々はこのような、引数に合格している場合:

1 
2
コンソールの.log(a.Name(「アリス).nameの()); 
コンソールの.log(a.Gender('女性').Gender());

これらの2つの機能は、セッターとして使用され、他の変数Fコールを継続するために戻ります
、我々は、我々は再び彼がFオブジェクト電話を受けたので、それができる、両方のリターンこのの関数であるためですコンソール得ました:

1 
2
アリス
女性

ここでは、この貫通に加えて、この名前空間の変数にアクセスするためにゲッター、セッターを実装することができ、使用する一般的な名前空間として缶関数を参照してください

おすすめ

転載: www.cnblogs.com/lijianming180/p/12326500.html