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>

 

posted @ 2017-10-14 10:00  QinXiao.Shou  阅读(163)  评论(0)    收藏  举报