原型的使用

使用对象的动态特性

function Person(){ }
Person.prototype.func=function(){
  console.log( 'something' );
};
var p = new Person();
p.func();

直接替换原型对象

function Person(){ };
Person.prototype={
    func: function(){
      console.log( '22222' );
    }
};
var p = new Person();
p.func();

直接替换原型会出现的问题

function Person () { }

Person.prototype.func = function () {
    console.log( 'something' );
};

var p = new Person();

Person.prototype.func = function () {
    console.log( 'something' );
};

var p1 = new Person();

p.func();

p1.func();

替换原型之后,在替换前创建出来的对象和替换后创建出来的对象的原型对象不一致

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原型的使用方法 ① 利用对象的动态特性给原型添加属性|方法[如果要添加的方法过多,则有大量重复代码]② 直接替换原...
    凸小布阅读 568评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,117评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,881评论 18 139
  • 今天的天气很晴朗,万里无云,温度也很高,像是把前面几天被暴雨刷去的春光叠加起来,形成一个暖和的春日,早在一个星期前...
    五松居士阅读 745评论 1 3
  • 水上萍阅读 72评论 0 6