浅析一个函数调用另一个函数的变量

 我来答
科创17
2022-06-04 · TA获得超过5856个赞
知道小有建树答主
回答量:2846
采纳率:100%
帮助的人:168万
展开全部

js中一个函数中调用另一个函数,内部函数怎么访问外部函数的变量?
无意中逛到这个问题,突然发现自己以前也有这样的困惑

a函数不是b的内部函数(闭包),而是全局函数 。所以对于a函数来说,即使你b在内部调用了我a,我a还是访问不了你b。
说到底就是作用域问题,所以我想到了改变作用域的方法

实现

尝试了很多次,都无法获取到b,原来我对这些方法理解有误,查阅文档,发现此类方法主要作用是,对象调用不属于自己的方法,例如下例:
food函数是没有product方法,使用call对food的上下文进行product操作

闭包就不多说了,一个函数内部 定义 (不是调用)另一个函数
内部函数可调用外部函数的变量,作用域链的延长

改写

function b(){
var num=3;
return num;
}
a();

一般来说,a是复用的函数,才会有此类用法,传参实现即可。

深入浅出妙用 Javascript 中 apply、call、bind
学习Javascript闭包(Closure)
call()方法

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式