javascript调用函数内的函数

时间:2017-11-12 19:13:19

标签: javascript

我试图编写一个将回调作为第二个函数的函数

我正在试图弄清楚如何运行此代码:

function a() {
    console.log('this ran')
    function firstCB() {
        console.log('now this ran')
    }
}

我试图通过简单地调用a()

来运行此功能

然而,由于仅打印了firstCB(),因此我似乎并未运行this ran

我需要做些什么才能修改此代码以使其按预期运行?

3 个答案:

答案 0 :(得分:2)

您应该传递一个回调并调用它(使用()),而是重新定义它。

以下是您如何实现目标的简单示例:

function a(firstCB) {
  console.log('this ran')
  firstCB(); // <-- invoke the callback that was passed in
}

a(function firstCB() { // <-- pass in a callback to `a`
  console.log('now this ran')
})

答案 1 :(得分:0)

只需调用回调,不要重新定义它:

function a(firstCB) {
    console.log('this ran')
    firstCB() ;
    console.log('now this ran')
}

答案 2 :(得分:-2)

您只需要调用第二个函数firstCB()使其运行:

function a(firstCB) {
    console.log('this ran');
    function firstCB() {
        console.log('now this ran');
    }

    firstCB();
}

a();