函数是一个引用数据 标识符可以在任何作用域去引用一个函数
函数在运行时的作用域: 生成(定义和声明)时 所在的作用域
函数运行时是在写函数代码的地方运行代码 不是在调用代码的地方运行代码
// 1.
function fn() {
var a = 90;
function fm() {
console.log(a); // 90
};
return fm;
};
var a = 100;
var re = fn();
re();
// 2.
function fn(a) {
function fm() {
a = a + 1;
console.log(a);
};
return fm;
};
var f1 = fn(10);
f1(); // 11
f1(); // 12
// 3.
function fn(a) {
function fm() {
a = a + 1;
console.log(a);
};
return fm;
};
var f1 = fn(10);
f1(); // 11
var f2 = fn(10);
f2(); // 11