组合使用构造函数模式和原型模式和寄生构造函数

chuangjian自定义类型的最常见方式就是组合使用构造函数模式与原型模式,构造函数模式用于定义实力属性,原型模式定义方法和共享的属性。

寄生构造函数:

原来的写法

var array1 = ['1','2'];
var array2 = ['1','2','3'];
array1.a = function () {
alert(this.length);
};
array1.a();
array2.a = function () {
alert(this.length);
};
array2.a();

 与上面的结果一致,方法写在了一起
    function SpecialArray() {
        var values = new Array();
        values.push.apply(values, arguments);
        values.toPipedString = function () {
            return this.length;
        };
        return values;
    }
    var array1 = new SpecialArray('1','2');
    alert(array1.toPipedString());
    var array2 = new SpecialArray('1','2','3');
    alert(array2.toPipedString());

  

posted @ 2017-02-01 22:21  shenq2014  阅读(200)  评论(0编辑  收藏  举报