JS高程3中关于apply方法的说明有一句看不懂?
高程3里关于apply有这样一句话:apply方法接受两个参数:一个是在其中运行函数的作用域,另一个是参数数组。
“一个是在其中运行函数的作用域”这句话不理解。
如果apply第一个参数是一个对象,这个对象跟作用域有什么关系。我记得JS只有全局作用域和函数作用域,对象跟作用域好像没有什么关系哦。
a 实例跟作用域有关系吗? |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
其实就是this的指向问题,调用了apply,b中的this就指向的就是a了。如果单纯的调用b函数,那么就会输出undefined,应为b中没有定义sex.但是如果是b.apply(a),就会输出"男”。因为这时this指向的a,a中定义了sex为“男”。 |
|
|
|
|