(function a() {
a = 100;
console.log(a);
})();
输出的是a函数体,因为a=100,是给函数的只读属性a赋值导致错误,所以不执行
(function () {
a = 100;
console.log(a);
})();
输出的是100,匿名函数不会赋值冲突,所以a=100赋值成功
(function a() {
var a = 100;
console.log(a);
})();
输出的是100,a被重新声明,也不冲突,所以a=100赋值成功
function a() {
a = 100;
}
console.log(a)
输出的是函数体,因为函数未执行,函数里的a的没有被赋值给window对象
function a() {
a = 100;
}
a();
console.log(a)
输出的是100,因为函数执行,函数里的a的被赋值给window对象