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 }