原型和私有性

原型和私有性

作者:LAMP小白  点击:2056  发布日期:2013-01-06 23:18:00  返回列表
当将私有成员与构造函数一起使用时,其中一个缺点在于每次调用的构造函数以创建对象时,这些私有成员都会被重新创建

为了避免复制工作以及节省内存,可以将常用属性和方法添加到构造函数的prototype属性中,这样,通过同一个构造函数创建的多个实例可以共享常见的部分数据,此外还可以在多个实例中共享隐藏的私有成员,为了实现这一点,我们需要使用构造函数中的私有属性以及对象字面量中的私有属性,由于prototype属性仅是一个对象,因此可以使用对象字面量创建该对象

mio_lt;scriptmio_gt;
    function haha() {
        var name = "hahas name";
        this.getName = function () {
            return name;
        };
    }
    haha.prototype = (function () {
        var info = 1;
        return {
            getInfo: function () {
                return ++info;
            }
        }
    }());
    var toy = new haha();
    console.log(toy.getName());
    console.log(toy.getInfo());
    var toy2 = new haha();
    console.log(toy2.getName());
    console.log(toy2.getInfo());
mio_lt;/scriptmio_gt;


上一篇:对象字面量以及私有性 下一篇:快递查询API
0