arguments对象如何转成数组

先知:arguments是函数内部的类数组对象!
思路:将arguments作为this绑定到指定函数原型的某个函数上

Function.prototype.imislice=function(start,end){
    var args=this
    var newArgs=[]
    start=start||0
    end=end||args.length
    for(var i=start;i<end;i++)
    {
         newArgs.push(args[i])
    }
    return newArgs
}
function test(n1,n2){
    var res=test.imislice.call(arguments)
    console.log(res);
}
test(1,2,3,4,5)

test
简化版如下:

function test(n1,n2){
    var arrs =Array.prototype.slice.call(arguments)
    console.log(arrs)
}

继续简化!

var arr=[].slice.call(arguments)

继续简化

var arr=Array.from(arguments)

再简化!

var arr=[...arguments]
全部评论

相关推荐

26届双非不知道咋找得到实习了
kong_kong:1.广投,boss每天200次机会用完, 2.简历上技能和项目经历突出你在这个岗位上的突出优势。 3.还是广投,不要挑地点,公司规模(我当时是线下一个都不去,如果你离得近可以考虑一下去现场) 4.简历写的自己成绩好什么的,奖项也写一写(懂的都懂)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务