12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <!--
- 1、变量声明提升
- *通过var定义(声明)的变量,在定义语句之前就可以访问到
- *值:undefined
- 2、函数声明提升
- *通过function声明的函数,在之前就可以直接调用
- *值:函数定义(对象)
- 3、问题:变量提升和函数提升是如何产生的?
- -->
- <script>
- /*
- 面试题:输出 undefined
- */
- var a = 3
- function fn() {
- console.log(a)
- var a = 4
- }
- fn() //undefined
- console.log(b) //undefined 变量提升
- fn2() //fn2(),可以调用 函数提升
- // fn3() //不能调用 变量提升
- var b = 3
- function fn2(){
- console.log('fn2()')
- }
- var fn3 = function(){
- console.log('fn3()')
- }
- </script>
- </body>
- </html>
|