let www = 'global';
var name = 'global'//报错:Identifier 'name' has already been declared
var age = "wa";
const obj = {
name: 'obj',
test: function() {
let name = 'scope';
console.log(this.name);
}
}
const test = obj.test;
console.log(test);//function() {let name = 'scope';console.log(this.name);}
console.log(this);//window对象
console.log(window.name);//''空,
console.log(window.www + "q");//undefinedq
console.log(window.age);//'wa'
test(); //?''空
obj.test(); //?obj
发现问题,window.name始终为’‘;
解析:window自带name属性,不能被更改。
let 一个全局变量不能给window增加属性;
var 一个全局变量可以给window增加属性;var name会报错:Identifier 'name' has already been declared。