第一:如下,按我的理解是函數里面的b引用了外面定義的全局變量b并重新賦值,所以b=2可以理解,而在函數里面重新定義了變量a生成新的作用域,我不理解a的值為undefined的具體思路是怎么來的???var a, b = 0,
fn = function(){var a = b = 2;
};
fn();console.log(a, b);//(undefined,2)第二:如下,在函數里面,不是應該先提升變量么,為什么第一個打印出a的值是undefined?var a = 100; function test () { console.log(a);//undefined
var a = 200;
console.log(a);//200
}
test();請大神們指點迷津......
變量的賦值情況解惑
Helenr
2018-10-19 09:24:40