js变量的作用域问题

时间:2021-08-28 06:09:05
1 var tt = 'www.cqcqing.com';
2 function test(){console.log(tt);} test();

控制台显示为:www.cqcqing.com

1 var tt = 'www.cqcqing.com';   
2 function test(){
3 console.log(tt);
4 var tt = 'www.cqcqing.com';
5 console.log(tt);
6 }
7 test();

控制台显示为:undefined      www.cqcqing.com

原理:js在访问一个变量时会优先在该作用域(访问时的那个作用域)内寻找是否声明过该变量,如果该变量已经存在,则直接使用它的值,否则它会寻找该作用域的‘父作用域/上级作用域’,以此类推,直到找到全局作用域为止。