寄生构造函数里的一个疑问

下面是一个寄生函数的例子,但我一直无法理解它在给values数组添加元素时为什么要用apply来将this指向values,原本不就是指向它的吗?

function SpecialArray(){


    //创建数组

    var values = new Array();


    //添加值

    values.push.apply(values, arguments);


    //添加方法

    values.toPipedString = function(){

        return this.join("|");

    };


    //返回数组

    return values;

}


var colors = new SpecialArray("red", "blue", "green");

//"red|blue|green"

alert(colors.toPipedString());


素胚勾勒不出你
浏览 490回答 1
1回答

繁花不似锦

打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript