首页 > 编程语言 > 详细

JavaScript对象的创建之基于构造方法+原型方式

时间:2014-09-03 19:38:47      阅读:210      评论:0      收藏:0      [点我收藏+]

为了解决原型所带来的问题,此处需要通过组合构造方法和原型来实现对象的创建,将属性在构造方法中定义,将方法在原型中定义。这种有效集合了两者的优点,是目前最为常用的一种方式。

function Person(name,age,friends){
    //属性在构造函数中定义
    this.name = name;
    this.age = age;
    this.friends = friends;
}
Person.prototype = {
    constructor:Person,
    //方法在原型中定义
    say:function() {
        alert(this.name+"["+this.friends+"]");
    }
}
//此时所以的属性都是保存在自己的空间中的
var p1 = new Person("Leon",23,["Ada","Chris"]);
p1.name = "John";
p1.friends.push("Mike");//为p1增加了一个朋友
p1.say(); //John  ["Ada","Chris","Mike"]
var p2 = new Person("Ada",33,["Leon"]);
p2.say();//Ada Leon

内存模型图如下所示:

 

JavaScript对象的创建之基于构造方法+原型方式

原文:http://www.cnblogs.com/luogankun/p/3954302.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!