ES6-オブジェクト指向

1.オブジェクト指向の古いバージョン:

1つの 関数ユーザー(名前、パス){
 2       .nameの= 名前。
3      この .passは= 渡します。
4  }
 5 User.prototype.showName = 関数(){ // 用原型加方法
6      はconsole.log(この.nameの)。
7  }
 8 User.prototype.showPass = 関数(){ // 用原型加方法
9      にconsole.log(この.pass)。
10  }
 11  のvar UL = 新しいユーザー( "青"、 "123456" )。
12ul.showName(); // ブルー
13 ul.showPass()。// 123456

質問の古いバージョン:

(1)とクラスコンストラクタは問題です。

(2)関数を書くが、この方法は、リストに追加され、ばらばらになりました。

2.オブジェクト指向の新バージョン

1  クラスユーザー{
 2      コンストラクタ(名前、パス){ // 作用相似于构造器
3           .nameの= 名前。
4           .passは= 渡します。
5  }
 6  showName(){
 7      はconsole.log(この.nameの)。
8  }
 9  showPass(){
 10          はconsole.log(この.pass)。
11      }
 12  }
 13  のvar UL = 新しいユーザー( "7890"、 "赤" )。
14 ul.showName()。// 
15ul.showPass(); // 7890            

(1)新しいクラスのキーワード、カテゴリと分離した構成。

ダイレクトプラス方法(2)クラス。

 3.相続の古いバージョン

1つの 関数ユーザー(名前、パス){
 2       .nameの= 名;
 3      この .pass = パス;
 4  }
 。5 User.prototype.showName = 関数(){ // プロトタイププラス方法
6。      はconsole.log(この.nameの);
 7  }
 。8 User.prototype.showPass = 関数(){ // プロトタイププラス方法
。9      にconsole.log(この.pass);
 10  }
 11  // 継承
12である 関数Vipuser(名前、パス、レベル){
 13、IS     User.call(この、名前、パス);
14      この .level = レベル。
15 }
 16 Vipuser.prototype = 新しいユーザー();
17 Vipuser.prototype.constructor = Vipuser。
18 Vipuser.prototype.showLevel = 関数(){
 19      はconsole.log(この.level)。
20  }
 21  のvar V1 = 新しい Vipuser( '青'、 '123456'、3 );
22 v1.showName()。// ブルー
23 v1.showPass()。// 123456 
24v1.showLevel(); // 3

 4.新しい継承

1  クラスユーザー{
 2      コンストラクタ(名前、パス){ // コンストラクタに同様の効果
3。         この .nameの= 名;
 4           .pass = パス;
 5  }
 6。 showname(){
 7      はconsole.log(この.nameの)。
 8  }
 。9  showPass(){
 10          はconsole.log(この; .pass)
 。11      }
 12れる }            
 13である // 継承
14のユーザー{拡張するクラスVipuser // 親クラスの継承:キーワード延び
15     コンストラクタ(名前、パス、レベル){
 16          スーパー(名前、パス); // コンストラクタが実行された親クラス
17。         この .level = レベル;
 18である     }
 。19      showLevel(){
 20である          にconsole.log(この.level)、
 21は     }
 22である }
 23は、 VaRの V1 = 新しい新しい Vipuser( '青'、 '123456' ,. 3 );
 24  v1.showName();
 25  v1.showPass();
 26である v1.showLevel();    

 -React 5. Applicationオブジェクト指向

反応します:

(1)コンポーネント--class

(2)強く(すなわちバベル、browser.js)JSXに依存します

1  クラスはテストReact.Componentを拡張{
 2    コンストラクタ(引数...){ // 继承组件所有的属性
3      スーパー(...引数)。
4  }
 5  レンダリング(){
 6      リターン <LI> {{ この .prop.str}} </ LI>
 7    }
 8 }
 9 window.onLoad = 関数(){
 10    せoDiv =のdocument.getElementById( 'DIV1' ;
11    ReactDom.render(
 12      <UL>
 13        <試験STR = 'ASD'> </試験>
 14        <試験STR = 'FGH'> </試験>
 15      </ UL>
      服装
 17     )。
18 }    

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/czh64/p/11941798.html
おすすめ