zoukankan      html  css  js  c++  java
  • 尚硅谷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>
     
  • 相关阅读:
    GdiPlus[34]: IGPGraphicsPath (一)
    GdiPlus[33]: 基本绘图与填充命令
    GdiPlus[29]: IGPPen: 虚线样式
    [征询意见]博客园logo
    [公告]网站恢复正常运行
    [公告]博客园将与博文视点合作推出一系列.NET图书
    [公告]由Bruce Zhang负责博客园的出书工作
    通过Windows Live Alerts订阅博客园首页RSS
    [征询意见]博客园新logo
    [新功能]新闻管理
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12417040.html
Copyright © 2011-2022 走看看