var a=b=10;
(function() {
var a=b=20;
})();
console.log(b);
这一段是函数吗?如果是函数,就是提到 a=b=10 的前面
如果不是函数,b= 20 就不是全局变量吧
待解决
————解决大半————
涉及到 立即执行函数
立即执行函数有两种书写方式:
1.
(function() {
}());
2.
(function() {
})();
————尚有疑问————
这一段立即执行函数的预解析过程是怎么样的,显然不是下面这样的:
var a;
(function() {
var a;
a=b=20;
})();
a=b=10;
console.log(b);
所以这段 立即执行函数 是怎么预解析的呢?
预解析案例:
f1();
console.log(c);
console.log(b);
console.log(a);
function f1() {
var a = b = c = 9;