码迷,mamicode.com
首页 > 编程语言 > 详细

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

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

标签:style   blog   color   io   java   strong   ar   div   问题   

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

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对象的创建之基于构造方法+原型方式

标签:style   blog   color   io   java   strong   ar   div   问题   

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

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