自定义构造函数

    1. function Person(name, age){
    2. this.name = name;
    3. this.age = age;
    4. this.setName = function(name){
    5. this.name = name;
    6. }
    7. }
    8. var p1 = new Person('xq',22); // Person对象
    9. p1.setName('77');

    可以分别创造出 Person 类型对象
    缺点:每个对象都有相同的属性或者函数,浪费内存
    引出:原型继承

    构造函数+原型组合

    1. function Person(name, age){ // 在构造函数中之初始化一般函数
    2. this.name = name;
    3. this.age = age;
    4. }
    5. Person.prototype.setName = function (name){
    6. this.name = name;
    7. }
    8. var p1 = new Person('xq', 22)