javascript创建类对象

正确样例:

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这个对象是错了

为什么 Shaw.fun()会错,而且报的错误是  Shaw.fun() is not a function。因为fun不是Shaw的属性,如果是属性是不用var ;而用this或没有this.

但是 Shaw.funShow()就是对的。

Person即是类,也是方法,说成带属性的方法更加合适。Person里面也是一步步执行下拉的,先运行this.init(name,age),在运行fun()。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值