下面例子仅仅是思考变量提升使用:
在实际开发中并不推荐使用相同名字的变量和函数!
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>