打工很辛苦吧 2021-12-31 15:41 采纳率: 22.7%
浏览 72
已结题

js这串代码怎么解释,为什么a打印出来是99

var a = 100
  {
    a =99
    function a() { }
    a = 30 
  }
console.log(a) // 99
  • 写回答

3条回答 默认 最新

  • zhang.yao 新星创作者: Java技术领域 2021-12-31 16:23
    关注

    这里面要区别a
    a有两个 一个是全局变量a 一个是{}作用域中的function a
    a = 99 是给全局变量a赋值, a=30是给function a赋值
    这是因为js中变量作用链的关系

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月31日
  • 已采纳回答 12月31日
  • 修改了问题 12月31日
  • 创建了问题 12月31日