var 与function的权重浅析
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 </head> 7 <body> 8 <script> 9 var foo; 10 // 若是没有下面这一行,foo为函数,若是有得话foo= xx会覆盖掉function foo() 11 foo = 1; 12 function foo(){ 13 alert("11") 14 } 15 console.log(typeof foo); 16 17 </script> 18 </body> 19 </html>
再看一个:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 </head> 7 <body> 8 <script> 9 var foo; 10 // 若是没有下面这一行,foo为函数,若是有得话foo= xx会覆盖掉function foo() 11 foo = function (){alert(22)}; 12 function foo(){ 13 alert("11") 14 } 15 foo() 16 17 </script> 18 </body> 19 </html>
若var声明了某一个变量(如foo);代码后面被function重新声明,若foo此时没有被赋值,此时foo为函数,如foo被赋值,如(foo=xxxx),foo的函数声明会被覆盖掉
坚持下去就能成功