详细说明:如果我愿意的话,例如以下代码:
//Javascript example
var alice = function() {
var value = bob() + 1;
console.log value
}
var bob = function() {
var value = 1;
return value;
}
//Running function A
alice()
我是否必须首先声明函数B,因为我在函数A中调用它而尚未到达函数B.
答案 0 :(得分:1)
没有
如果你有一个函数声明,那么它将被提升并且顺序无关紧要(尽管将函数放在一个顺序中,以便在调用函数之前没有出现函数调用是好的做法)。
如果您有函数表达式(就像您在示例中所做的那样),那么您需要在调用之前创建函数,并注意在此示例中没有它们在行alice()
之前被调用,因此只有那行才需要在函数之后,函数本身的顺序无关紧要。 (但上述最佳实践原则仍然存在)。
答案 1 :(得分:0)
不,因为Javascript解释器会识别之后声明的函数,并将它们正确地链接到相关行。
答案 2 :(得分:0)
唯一的限制是在使用之前定义每个函数