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的函数调用必须在当前函数的主函数内调用(既当前函数下的外层函数)。