/*
* 1、本应匿名的函数如果设置了函数名,在外面还是无法调用,但是在函数里面是可以使用的
* 2、而且类似于创建常量一样。这个名字存储的值不能再被修改
*/
var b = 10;
(function b() {
b = 20;
console.log(b)
})();
console.log(b)
/* 改变代码使结果为:20 和 10 */
里面的 b 一定需要是私有的,不能是全局的 (var let const / 改为形参)
var b = 10;
(function b() {
const b = 20;
console.log(b)
})();
console.log(b)
var b = 10;
(function b(b) {
b = 20;
console.log(b)
})();
console.log(b)