JS高程3中关于apply方法的说明有一句看不懂?

 高程3里关于apply有这样一句话:apply方法接受两个参数:一个是在其中运行函数的作用域,另一个是参数数组。

一个是在其中运行函数的作用域”这句话不理解。


        如果apply第一个参数是一个对象,这个对象跟作用域有什么关系。我记得JS只有全局作用域和函数作用域,对象跟作用域好像没有什么关系哦。 

http://img.mukewang.com/57a1926000013aac03820170.jpg

   a 实例跟作用域有关系吗?


samdeo
浏览 1499回答 1
1回答

慕粉3769977

其实就是this的指向问题,调用了apply,b中的this就指向的就是a了。如果单纯的调用b函数,那么就会输出undefined,应为b中没有定义sex.但是如果是b.apply(a),就会输出"男”。因为这时this指向的a,a中定义了sex为“男”。
打开App,查看更多内容
随时随地看视频慕课网APP