var b = 10;
(function b() {
b = 20;
console.log(b)
})()
// 打印
// ƒ b() {
// b = 20;
// console.log(b)
// }
声明提前:
一个声明在函数体内都是可见的,函数声明优先于变量声明;
function b () {} 声明优先于 b = 10
在非匿名自执行函数中,函数变量为只读状态无法修改;
上面为IIFE非匿名函数,在该函数中,函数变量不能给重新赋值,类似const,let,严格模式下会报错