JS是一门面向对象语言,其对象是用prototype属性来模拟的,下面,来看看如何封装JS对象.

常规封装

function Person (name,age,sex){    this.name = name;    this.age = age;    this.sex = sex;
}

Pserson.prototype = {    constructor:Person,
    sayHello:function(){        console.log('hello');
    }
}

这种方式是比较常见的方式,比较直观,但是Person() 的职责是构造对象,如果把初始化的事情也放在里面完成,代码就会显得繁琐,如果放在一个方法里初始化会不会好点呢?

升级版 (常见)

function Person (info){    this._init_(info);
}

Pserson.prototype = {    constructor : Person,
    _init_ : function(info) {        this.name = info.name;        this.age = info.age;        this.sex = info.sex;
    }
    sayHello:func