基本概念
- 作用域
- 词法作用域
- 函数级作用域和块级作用域
- 作用域提升
- 作用域闭包
题目1
调用t1();输出1
2
3
4
5
6
7function t1(){
console.log(str1);
console.log(str2);
var str1="xx1";
str2="xx2"
}关键字var提示js编译器词法分析对变量进行声明,没有该关键字,分析认为是单纯赋值操作;执行时自上而下,输出str1时未赋值,其值为undefined,而str2为未声明。1
2undefined
Uncaught ReferenceError: str2 is not defined题目2
调用t2()输出10。1
2
3
4
5
6
7var i=10;
function t2(){
i=20;
for(var i=0;i<6;i++){
}
console.log(this.i);
}
this指向window对象