码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-05-10 20:33:36      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:技术   uil   var   http   aaa   icp   alt   blog   cti   

话说这个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(); //静态方法是挂载在构造函数下面的,所以需要使用构造函数来直接调用

技术分享

 

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

标签:技术   uil   var   http   aaa   icp   alt   blog   cti   

原文地址:http://www.cnblogs.com/cumting/p/6837871.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!