Javascript 如何让本地函数读取其他单独的本地函数?

Javascript 如何让本地函数读取其他单独的本地函数?,javascript,Javascript,如果您有两个本地函数 function a() { alert("a"); } function c() { alert("c"); } a(); 在每个局部函数中,存在另一个局部函数 function a() { alert("a"); b(); function b() { alert("b"); c(); d(); } } function c() {

如果您有两个本地函数

function a() {
  alert("a");
}

function c() {
  alert("c");
}

a();
在每个局部函数中,存在另一个局部函数

function a() {
  alert("a");
  b();

  function b() {
    alert("b");
    c();
    d();
  }

}

function c() {
  alert("c");

  function d() {
    alert("d");
  }
}

a();
据我所知,函数a和c都是“全局的”,因为它们是第一个在javascript中出现的。局部函数b链接到全局函数a,局部函数d链接到全局函数c,因此局部函数b可以读取全局函数c,但不能看到局部函数d,因为这不是全局函数,而是全局函数内部的局部函数,因此它不能再看到和调用局部函数d

如何确保d()的函数可以被b()的函数读取; 我道歉,如果这已经被问到,我想不出正确的关键字问,并试图搜索正确的关键字不完全回答我的问题。我相信答案与返回有关,但我从来没有得到过这样的结果,所以将它用于函数本身


除非我理解或理解错误?

一种方法是让每个函数返回内部函数。然后稍后再打电话给他们

函数a(){
控制台日志(“a”);
b();
函数b(){
控制台日志(“b”);
_c=c();
_c、 d();
}
返回{b:b}
}
函数c(){
控制台日志(“c”);
函数d(){
控制台日志(“d”);
}
返回{d:d}
}
a()
//我把你的代码变小了,因为我看到它把我的大脑隔开了
函数a(){
警报(“a”);
函数b(){
警报(“b”);
c();c(1)(;//当参数为1时,返回函数d,然后我调用返回的函数(因此我调用了d)
}b();
}
功能c(dd){
函数d(){
警报(“d”);
}
如果(dd==1){返回(d);}
警报(“c”);
}
a();

//这样的东西没有内置的帮助,所以是的,我找到了一个解决办法
你不能<代码>b
d
不共享作用域。要从
d
访问
b
,您必须从
a
Hey@necrifter的一个实例访问它,如果您想要一个可访问的结构,您可以看看面向对象编程(OOP)函数是用来返回结果的。当然,您可以返回函数d作为函数c的结果,并可以通过variablescope访问它。这不是巧合,而是故意的。。有几种方法可以让这些东西互相访问,但是如果
d
b
可以互相访问,在我将要演示的两种方法中,一些随机的其他代码也可以是最快的方法(方法3,因为我太无聊了,无法编写答案)就是让c传递一个参数这一个看起来很有用很简单,我可以不用重写我的大部分代码就可以使用,但是最后,我需要在变量上附加一个函数来实现这一点。谢谢