猿问

this指向问题

背景

看到一段话是用apply将foo的参数传给bar的方法


 // 使用 apply 将 foo 的参数传递给 bar

        function foo() {

            bar.apply(this,arguments);

        }


        function bar() {  

            console.log(arguments);

        }

        foo(1)

执行foo可以打印出伪数组{0: 1}


问题

当我将形参arguments改为一个具体的参数时,如下面


 // 使用 apply 将 foo 的参数传递给 bar

        function foo(a) {

            bar.apply(this,a);

        }


        function bar() {  

            console.log(a);

        }

        foo(1)

执行上段代码会提示CreateListFromArrayLike called on non-object错误请问为什么呢


慕斯709654
浏览 397回答 2
2回答

一只萌萌小番薯

形参是一个 arguments 类数组对象 你给他传一个变量形参 输出的时候它应该不是对象没法存 参数1
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答