javascript作成類の対象
2081 ワード
正しい例:
var Person=function(name,age){
this.Name='';
this.Age='';
this.Say=function(msg){
alert(msg);
}
this.init=function(name,age){
this.Name=name;
this.Age=age;
}
this.init(name,age);
var fun=function(){
alert('fun');
}
this.funShow=function(){
fun();
}
<pre name="code" class="html"> var mutilFun=function(){
<pre name="code" class="html"> Say();
<span style="font-family: Arial, Helvetica, sans-serif;"> this.Say();</span>
this.mutilFunShow=function(){ <pre name="code" class="html"> mutilFun();
fun();}调用: var Jon=new Person('Jon',26); Jon.Say('go away'); alert(Jon.Name+Jon.Age);上面都对 var Shaw=new Person('Shaw',26);
Shaw.fun();
<pre name="code" class="html"> Shaw.funShow();// 。 Shaw 。
Shaw.mutilFunShow();// mutilFun , <span style="font-family: Arial, Helvetica, sans-serif;">mutilFun , mutilFun this.Say() Person this.Say()。 this </span><span style="font-family: Arial, Helvetica, sans-serif;">mutilFun, Person。</span>
どうしてShaw.funが間違っていますか?そしてエラーはShaw
Shaw.fun()is not a function.funはShawの属性ではないので、属性はvarを使わないです.thisを使っていますか?thisがないです.
でもShaw.fun Showは正しいです.
Personはクラスであり、方法でもあります.属性を持つ方法がより適切です.Personでも一歩ずつドロップを実行しています.まず、this.init(name,age)を実行して、fun()を実行しています.