javascript種類の継承のいくつか実験

4171 ワード

実は最初にjsを編集してあまり対象を使ったことがなくて、普通はすべてfuncを使って、func・・・しかし多く使って、コードが少しもきれいではありませんと感じて、またここに関数を包んで、あるいはずっと関数の呼び出しで、美しくなくて、その上いくつかの重用のはすべて書き直しますととても面倒です.(すみません、私のような初心者に対しては、最初はfuncを使うのが一般的です.高効率です.・・)だから、最初はobjectを使ってプログラミングするほうが手っ取り早いと決めました.次はブログ記事を見ました.類説についてです.何か間違いがあったら、多く教えてください.
これらのプログラミングについては、ステートメントの方法は以下の通りです.1、var test=function(%);2、function test(){};3、var test=new Object();4、var test={}、・・・私が今考えているのはこの4つだけです.大神様には他に何か声明の対象がありますか?小弟はここで感謝します.
この時は別の方法で言います.
    1、2の方法については、いくつかの既存の属性があるはずです.test.nameに値をつけるようですが、test.nameを出力する時は出力です. func という名前ですが、testは他の静的な属性を加えられますが、他の保留文字がありますか?まだ探し続けていません.
    3、4の方法については、test.nameに値を割り当てることができますし、その値を正しく出力します.
    したがって、func固有の属性については、func方法でオブジェクトを宣言すると、一部の値が付与されない可能性があります.したがって、個人的には、オブジェクト宣言の時に3、4の方法を使用することを提案しています.しかし、このようなメリットは、基本値をより直感的に初期化することができます.
    
 
   続いてクラスの継承です.次の例を挙げます.
var parent = function(name,age){

  this.name = name;

  this.age = age;

  this.method = function(){

    alert("This is my method!");

  }

}

//   



var child = function(name,age){

  parent.apply(this,arguments); //OR  test.call(this,name);this.age = age;

  //Other method or variables

}

//                           ,        func              。  ,             ,     



/*---------------------------------------------------------------------------*/



var parent = function(name,age){

  this.name = name;

  this.age = age;

}

parent.prototype = {

  run: function(){

    alert(this.name + " is running!");

  },

  work: function(){

    alert(this.name + " is working!");

  },

}



var child = function(name,age){

  this.name = name;

  this.age = age;

}

//   

child.prototype = new parent();



var c = new child("li",20);

c.run();// alert,          parent.apply  ,  parent.prototype     child     ,                 (parent.apply)     prototype(child.prototype = new parent())   
以上は私の初心者の学習内容です.何か間違いがあったら、皆さんの指摘を受けてください.ありがとうございます.