小编Rom*_*aev的帖子

函数体和函数本身的变量具有相同的名称(JavaScript)

(function test() {
  test = 123;
  console.log( test );
}());
Run Code Online (Sandbox Code Playgroud)

此功能在控制台中打印它的主体,但不是'123'.这种行为的原因是什么?

我对函数执行的解释失败了?

  1. 开始执行功能; 'test'是一个引用函数本身的局部变量;
  2. 局部变量'test'被重新分配到123号;
  3. console.log变量'test',这是一个数字.

javascript scope function function-declaration function-expression

8
推荐指数
1
解决办法
139
查看次数