为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript中Array.prototype.slice.call(arguments)

JavaScript中Array.prototype.slice.call(arguments)

翻过高山走不出你 2018-11-17 12:14:30
今天看到这个用法的时候产生了疑问,slice 方法可以用来将一个类数组(Array-like)对象/集合转换成一个数组。你只需将该方法绑定到这个对象上。mdn上给出了一个例子:function list() {  return Array.prototype.slice.call(arguments);}var list1 = list(1, 2, 3); // [1, 2, 3]我的问题是:平时更容易遇到fun.call (null, arguments)这样的用法,因为Function.prototype.call()的用法是fun.call(thisArg[, arg1[, arg2[, ...]]])所以遇到把Array.prototype.slice.call(arguments)这样的把arguments作为在函数运行时指定的this值感觉很别扭,总是想成Array.prototype.slice.call(null, arguments)这样的,又不知道这样为什么不对?除了Array.prototype.slice.call(arguments)这样的用法,那么Array.prototype上其他的方法是不是也可以这样使用呢?比如Array.prototype.splice.call(arguments,1)?

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号