2_变量提升.html 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. // console.log(a);
  11. // var a = 10;
  12. // var a;
  13. // console.log(a);
  14. // 变量提升
  15. // 变量提升是指在代码执行前,会先将变量的声明提升到代码的顶部
  16. // 变量提升只提升声明,不提升赋值
  17. // console.log(a);
  18. // var a = 10;
  19. // // 等同于
  20. // var a;
  21. // console.log(a);
  22. // a = 10;
  23. // 变量提升的注意事项
  24. // 1. 变量提升只提升声明,不提升赋值
  25. // 2. 变量提升只提升到当前作用域的顶部
  26. // console.log(a)
  27. // function foo(){
  28. // console.log(a)
  29. // var a = 10;
  30. // }
  31. // foo();
  32. // 等同于
  33. // console.log(a);
  34. // function foo(){
  35. // var a;
  36. // console.log(a);
  37. // a = 10;
  38. // }
  39. // foo();
  40. // 函数提升
  41. // 函数提升是指在代码执行前,会先将函数的声明提升到代码的顶部
  42. // 函数提升只提升声明,不提升调用
  43. foo();
  44. function foo(){
  45. console.log("hello")
  46. }
  47. </script>
  48. </body>
  49. </html>