您的位置:首页 > Web前端 > JavaScript

JavaScript中arguments[0]()表示的是什么?

2016-10-24 11:21 344 查看
var length = 10;
function fn(){
alert(this.length)
}
var obj = {
length: 5,
method: function(fn) {
arguments[0]()
}
}
obj.method(fn)
这段代码中的arguments[0]()是第一个参数?带一对小括号是什么意思?
arguments[0]()的意思,和arguments.0()的意思差不多(当然这么写是不允许的),你更可以这么理解:
arguments = {0: fn, //也就是 functon() {alert(this.length)}1: 第二个参数, //没有2: 第三个参数, //没有...,length: 1 //只有一个参数}
所以这里alert出来的结果是1。作者:Malcolm Yu链接:https://www.zhihu.com/question/21466212/answer/18441962来源:知乎著作权归作者所有,转载请联系作者获得授权。本人认为:arguments.0()等同于arguments.fn(),即argument对象调用fn函数,所以this指向arguments对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: