84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
Sehen Sie sich die Bilder an, die ich für Details gemacht habe
<script> var bar=function(){ var foo=function(){} foo=10; } var foo=1; bar(); alert(foo); </script>
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声明过的变量不会重复声明
以上这几点你作个参考,就明白原因了!
你的代码实际上运行的效果是: