微信扫一扫打赏支持

尚硅谷js---58、变量和函数的声明提前

尚硅谷js---58、变量和函数的声明提前

一、总结

一句话总结:

变量的声明提前:使用var关键字声明的变量,会在所有的代码执行之前被声明(但是不会赋值),但是如果声明变量时不使用var关键字,则变量不会被声明提前
函数的声明提前:使用函数声明形式创建的函数 function 函数(){},它会在所有的代码执行之前就被创建,使用函数表达式创建的函数,不会被声明提前,所以不能在声明前调用

 

 

1、变量的声明提前 是怎么回事?

变量的声明提前:使用var关键字声明的变量,会在所有的代码执行之前被声明(但是不会赋值),但是如果声明变量时不使用var关键字,则变量不会被声明提前

 

 

2、函数的声明提前 是怎么回事?

函数的声明提前:使用函数声明形式创建的函数 function 函数(){},它会在所有的代码执行之前就被创建,使用函数表达式创建的函数,不会被声明提前,所以不能在声明前调用

 

 

3、为什么 使用函数表达式创建的函数,不会被声明提前?

因为使用var声明的变量会先声明,但是不会被先赋值,执行到赋值代码的时候才会赋值,所以使用函数表达式创建的函数不会被提升声明

 

 

 

二、变量和函数的声明提前

博客对应课程的视频位置:

 

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <script type="text/javascript">
 7             
 8             
 9             /*
10              * 变量的声明提前
11              *     - 使用var关键字声明的变量,会在所有的代码执行之前被声明(但是不会赋值),
12              *         但是如果声明变量时不使用var关键字,则变量不会被声明提前
13              * 
14              * 函数的声明提前
15              *     - 使用函数声明形式创建的函数 function 函数(){}
16              *         它会在所有的代码执行之前就被创建,所以我们可以在函数声明前来调用函数
17              *        使用函数表达式创建的函数,不会被声明提前,所以不能在声明前调用    
18              */
19             /*console.log("a = "+a);
20             
21             var a = 123;*/
22             
23             //fun();
24             
25             
26             //函数声明,会被提前创建
27             function fun(){
28                 console.log("我是一个fun函数");
29             }
30             
31             //函数表达式,不会被提前创建
32             var fun2 = function(){
33                 console.log("我是fun2函数");
34             };
35             
36             fun2();
37             
38             
39             
40         </script>
41     </head>
42     <body>
43     </body>
44 </html>

 

 

 

 
posted @ 2020-03-04 23:36  范仁义  阅读(107)  评论(0编辑  收藏  举报