js调用嵌套函数
js的函数是可以嵌套的,那么怎么来调用嵌套函数呢?代码如下:
function foo() {
var x = 1;
function bar() {
var y = x + 1;
console.log(y);
}
console.log(x);
}
在这里,该如何调用bar()函数呢?尝试实现如下:
第一种
function foo() {
var x = 1;
function bar() {
var y = x + 1;
console.log(y);
}
console.log(x);
}
foo();
bar();
我用的是webstorm编辑器,这里我们看到bar();呈现灰色,并且运行报错:
第二种:
function foo() {
var x = 1;
function bar() {
var y = x + 1;
console.log(y);
}
console.log(x);
}
foo(bar());
和第一种同样的结果。
第三种:
function foo() {
var x = 1;
function bar() {
var y = x + 1;
console.log(y);
}
bar();
console.log(x);
}
foo();
这一次运行是成功的:
总结:js的函数调用必须在当前函数的主函数内调用(既当前函数下的外层函数)。