随笔分类 - 2016年9月
1.作用域链。
var t = "bb";
function test() {
//执行t的时候,它会先找作用域链对象,由于它定义在函数内部,所以这个函数就是它的作用域链的第一个对象
//而在这个对象里又有t的定义,所以t就是局部变量了,它替换了全局变量t
//t只是此时有定义,但并没有赋值,赋值在下一行,所以这里输出了undefined
alert(t);
var t = "aa";
alert(t);
}
test();
弹出结果为:undefined / aa.编译时局部变量t替代全局变量t,alert(t)中的t还没有赋值。
摘要:1.js没有块级作用域,只有函数级作用域,函数外面的变量函数里面可以找到,函数里面的变量外面找不到。 2. var t = "bb"; function test() { //执行t的时候,它会先找作用域链对象,由于它定义在函数内部,所以这个函数就是它的作用域链的第一个对象 //而在这个对象里又有t
阅读全文