一个关于变量提升的题目【暂时不会】

1. 下面两个情况分别输出什么?

  function a(b, c) {
    function b() {}
    alert(b); // function b() {}
  }
  a(1, 2);
function a(b, c) { var b; alert(b); // 1 } a(1, 2);

2. 不太理解为啥会这样......按本菜鸡的理解说,第二题应该是 undefined

3. 在查阅资料时,这个题目没解决,但是学到了个东西,函数提升 优先级 高于 变量声明提升,函数与变量重名时,若变量只是声明,则函数不会被覆盖,但是函数会被赋值变量覆盖。

见:https://www.cnblogs.com/miacara94/p/9173843.html

posted @ 2021-10-07 22:04  TwinkleG  Views(30)  Comments(0)    收藏  举报