变量作用域
比如说我们写一个函数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| var age = 11;
function t1() { console.log(age); }
var age = 11;
function t1() { var age = 22; console.log(age); }
var age = 11;
function t1() { var age = 22; function t2() { console.log(age); } }
|
在JavaScript中,函数嵌套是非常普遍的,那么,在函数的嵌套中,变量是如何寻找的呢?
上面的例子中已经总结出来了。
1、首先在函数内部寻找
2、寻找不到,则往外层
3、直到 Window 对象
var 的作用
var的作用是什么呢?是声明。
如果我们,不加var呢?
1 2 3 4 5 6 7 8 9 10 11
| name = 'wanhai';
function t1() { name = 'haitao'; console.log(name); }
t1();
console.log(name);
|
这里的全局变量的值莫名的就被改变成了 haitao。所以,不加var的后果,就是全局变量被污染。
June 8, 2018