0

如何在函数 B 中调用 C。

Function A(){function B(){}} 
Function C(){}

我试过直接在

function B(){C();}

但没有什么可做的。

4

4 回答 4

2

在 内A(),你必须打电话B(),这样你才能打电话C()。在你执行之前,这一切都只是声明。

function A() {
    console.log("I'm function A");
    function B() {
        console.log("I'm function B");
        C();
    }
    B();
}
function C() {
    console.log("I'm function C");
}

A();

// or

function A() {
    console.log("I'm function A");
    (function B() {
        console.log("I'm function B");
        C();
    })();
}
function C() {
    console.log("I'm function C");
}

A();

// or

function A() {
    console.log("I'm function A");
    (function B(callback) {
        console.log("I'm function B");
        callback();
    })(C);
}
function C() {
    console.log("I'm function C");
}

A();

//or

(function A() {
    console.log("I'm function A");
    (function B(callback) {
        console.log("I'm function B");
        callback();
    })(C);
})()
function C() {
    console.log("I'm function C");
}

jsFiddle

还有我个人的最爱

(function A(callback) {
    console.log("I'm function A");
    (function B(callback) {
        console.log("I'm function B");
        callback();
    })(callback);
})(C)
function C() {
    console.log("I'm function C");
}

jsFiddle

于 2013-06-23T14:22:16.503 回答
0

这是来自 B 的 C 的有效函数调用

function A(){function B(){C();}

我希望在您的真实代码中,您在这些函数中有一些语句来确定调用是否按需要进行。

于 2013-06-23T14:18:24.830 回答
0

要在 javascript 中执行函数,您只需要调用:

 c();

你只用

 function X(){} 

声明函数时

于 2013-06-23T14:18:52.243 回答
0

您的代码可能如下所示:

function C(){
  console.log("This is C");
}
function A(){
 console.log("this is A");
 function B(){
   console.log("this is B and can only be called within A");
   C();
 }
 B();
}
A();// shows:
  // this is A
  // this is B and can only be called within A
  // this is C
C();//shows this is C
B(); // causes error: ReferenceError: B is not defined

要打开并查看控制台,您可以在 firefox、chrome 或 opera 中按 F12。在IE中我不知道。

于 2013-06-23T14:23:27.560 回答