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

查看:70
本文介绍了javascript - 寄生构造函数里的一个疑问的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

下面是一个寄生函数的例子,但我一直无法理解它在给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());

解决方案

这篇关于javascript - 寄生构造函数里的一个疑问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆