84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
具體看我截的圖
js申明部分被顶置,函数内部的foo是局部变量,不影响全局的foo。
1函数声明会置顶
2变量声明也会置顶3函数声明比变量声明更置顶:)4变量和赋值语句一起书写,在js引擎解析时,会将其拆成声明和赋值2部分,声明置顶,赋值保留在原来位置5声明过的变量不会重复声明
以上这几点你作个参考,就明白原因了!
你的代码实际上运行的效果是:
function bar(){ function foo(){} var foo;//实际上无效 foo=10; } var foo; bar(); foo=1; console.log(foo);
js申明部分被顶置,函数内部的foo是局部变量,不影响全局的foo。
1函数声明会置顶
2变量声明也会置顶
3函数声明比变量声明更置顶:)
4变量和赋值语句一起书写,在js引擎解析时,会将其拆成声明和赋值2部分,声明置顶,赋值保留在原来位置
5声明过的变量不会重复声明
以上这几点你作个参考,就明白原因了!
你的代码实际上运行的效果是: