题目一:
1. window全局作用域预解释
var money;
匿名函数的function在全局作用域下是不进行预解释的
2. 代码从上到下执行
money = "1000"; //给money变量赋值
匿名函数之自执行函数:定义和执行一起完成了
3. 自执行函数的私有作用域
预解释:
var money;
return后面的代码不参与预解释。
return后面跟着的,都是我们返回的值,所以不进行预解释。
4. 自执行函数里面代码执行
console.log("flag1:" + money); //已声明,但是未赋值。 undefined
money = "5000"; //给money变量赋值
console.log("flag2:" + money); //money变量已经有值了。 5000
5. 自执行函数里面如果没有私有变量,会向上查找吗?
var money = "1000";
(function () {
console.log("flag1:" + money); //undefined。 已声明变量money,但未初始化
var money = "5000"; //给变量money赋值
console.log("flag2:" + money); //5000
return function (m) {
console.log("flag3:" + m); //200
console.log("flag4:" + money); //50