backbone之extend方法(刚明白了点)

话说这个extend困扰我好几天了,今天终于想明白了点。

在之前先要知道什么是实例方法和静态方法。

首先定义一个类(js不支持类,但是别人都这么说,我也不知道为啥),如:var Person=function(){} //函数表达式或 function person(){}//函数声明,

然后在类上加.方法名,如 Person.say=function(){ console.log('I am a Person,I can say.') };这就是一个静态方法,调用时直接.方法名()就可以了。

在类原型上添加方法,如Person.prototype.cry=function(){ console.log('I shuai I proud')};这是个实例方法,调用时需要提前创建实例。即var haha=new Person; haha.cry();

 

话题回到extend,

除了Event类,其他类都含有extend方法,该方法在开发时是最常用的,就是为了生成子类的,我们的主角就是个类,他所创建的孩子就是子类。

extend方法接受两个参数: 
参数1:protoProps,为子类的原型prototype提供属性 ,也就是创建实例方法
参数2:staticProps,为子类自身提供属性 ,也就是创建静态方法

例:

//模型的构造函数的扩展,相当于继承,则声称的实列可以使用其父类的方法
 var   M  =  Backbone.Model.extend({
//第一个参数写实列方法,第二个参数写静态方法
        aaa : function(){          //实列方法
                   console.log('jt');
        }
 },{
         bbb : function(){           //静态方法
                   console.log('lkm');
         }                                   
 });
    var  model =  new M;
    model.aaa(); //实列方法,直接使用实列来进行调用
    M.bbb(); //静态方法是挂载在构造函数下面的,所以需要使用构造函数来直接调用

 

 

转载于:https://www.cnblogs.com/cumting/p/6837871.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值