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の方法を使用することを提案しています.しかし、このようなメリットは、基本値をより直感的に初期化することができます.
続いてクラスの継承です.次の例を挙げます.
これらのプログラミングについては、ステートメントの方法は以下の通りです.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())
以上は私の初心者の学習内容です.何か間違いがあったら、皆さんの指摘を受けてください.ありがとうございます.