zoukankan      html  css  js  c++  java
  • JavaScript--关于变量提升思考

    下面例子仅仅是思考变量提升使用

    在实际开发中并不推荐使用相同名字的变量和函数!

    1 // 如果变量和函数同名的话,函数优先提升
    2 console.log(a);
    3 function a() {
    4   console.log('aaaaa');
    5 }
    6 var a = 1;
    7 console.log(a);

    更多简单经典例子:

     1 <script>
     2     // 预解析运行原理
     3     // 题目一
     4     var a = 25;
     5     function abc() {
     6         alert(a);
     7         var a = 10;
     8     }
     9     abc();
    10     // 预解析原理
    11     // var a ;
    12     // function abc(){
    13     //     var a;
    14     //     alert(a);
    15     //     a = 10;
    16     // }
    17     // a = 25;
    18     // abc();
    19 
    20     // 题目二
    21     var a = 25;
    22     function abc() {
    23         alert(a);
    24         a = 10 ;
    25     }
    26     abc();
    27     // 预解析原理
    28     // var a ;
    29     // function abc(){
    30     //      alert(a);
    31     //      a = 10;
    32     // }
    33     // abc();
    34 
    35     // 题目三
    36     var a = 25;
    37     alert(a);
    38     alert(b);
    39     function abc () {
    40         alert(a);
    41         a = b = 10 ;
    42     }
    43     alert(a);
    44     alert(b);
    45     abc();
    46     alert(a);
    47     alert(b);
    48 
    49     // 预解析原理
    50     // var a;
    51     // function abc() {
    52     //      alert(a);
    53     //      a = b = 10;
    54     //
    55     // }
    56     // a = 25 ;
    57     //alert(a);
    58     //alert(b);
    59     //abc();
    60     //alert(a)
    61     //alert(b)
    62 
    63     // 题目四(与题目三不同的是abc里面的是var a = b  =10;)
    64     var a = 25;
    65     alert(a);
    66     alert(b);
    67     function abc () {
    68         alert(a);
    69         var a = b = 10 ;
    70     }
    71     alert(a);
    72     alert(b);
    73     abc();
    74     alert(a);
    75     alert(b);
    76     // 预解析原理
    77     //var a;
    78     //function abc() {
    79     //      var a;
    80     //      alert(a);
    81     //      a = b = 10;
    82     // }
    83     // alert(a);
    84     // alert(b);
    85     // abc();
    86     // alert(a);
    87     // alert(b);
    88 
    89 </script>
  • 相关阅读:
    产品化软件开发与项目化软件开发的对比
    4.ThinkPHP 3.1.2 输出和模型使用
    ThinkPHP 3.1.2 输出和模型使用1
    事务管理配置与@Transactional注解使用
    logstash 区分多个文件index端配置
    logstash 读取多个系统相同文件shipper端
    centos 6.5安装git
    如何查看PHP的配置信息
    MVC模式和URL访问
    1.环境搭建
  • 原文地址:https://www.cnblogs.com/mrszhou/p/7665802.html
Copyright © 2011-2022 走看看