谢谢大家,两个关于函数访问的问题?

function aa(){
    function bb(){
        
    }
}
function cc(){
    bb() //请问如何在这里访问到bb方法
}

还有一个这种格式的,

layui.use(['jquery', 'form', 'layer'], function () {
    function aa(){

    }
})
function bb(){
    aa() //请问如何访问到aa方法
}
阅读 1.9k
4 个回答
let func;
function aa(){
    func = function bb(){
        
    }
}

function cc() {
    func()
}

把bb函数挂到全局对象window上咯,虽然这样不好。

function aa(){
    return function bb(){
        
    }
}
function cc(){
    aa()(); //调用bb方法
}

示例代码

新手上路,请多包涵

第一个问题有两种解决方法,一种是返回函数,另一种是回调函数

// 方案一
function a(){
  return function b(){
    // do something...
  }
}
function cc(){
  let b = a();
  b();
}
//方案2
function a(cb){
  function b(){
    console.log('hi')
  };
  cb(b);
}
function cc(){
  a((b)=>{
    b();
  })
}

第二个问题可以把函数抽取出来,例如

+function aa(){
+}
layui.use(['jquery', 'form', 'layer'], function () {
- function aa(){
- }
+ aa()
})
function cc() {
    aa()
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏