function f1() {
var n = 999;
f2 = function () {
n += 1;
console.log(n);
}
}
f1();
f2();
如上代码中,定义了一个函数f1,内部又定义了一个匿名函数(也就是闭包),并且赋值给f2,按理来说,f2前面不是要加var标示来声明一个变量吗?但是我加上var后,却报错了,提示错误:f2 is not defined。为什么呢?另外,为什么上面代码在全局环境中能够访问在f1内部定义的f2?一共两个疑惑,先谢了。
MYYA
qq_笑_17
随时随地看视频慕课网APP
相关分类