Java面试官老王 2020-10-30 16:42 采纳率: 0%
浏览 53

写代码居然给自己写蒙了

觉得不好使 结果它好使 js 作用域链是执行时才开始搜索的 所以这段代

码才会正常执行

  • 写回答

1条回答 默认 最新

  • lshen01 2023-03-16 17:54
    关注

    参考GPT和自己的思路:

    你的问题描述比较简洁,但是有些地方还是不够清晰。首先,你说“不好使”的具体表现是什么?其次,你所提供的代码片段不够完整,无法很清楚地理解你的疑问。

    根据你提供的信息,我猜测你遇到的问题可能是跟JavaScript的作用域链有关。JavaScript采用词法作用域(静态作用域),也就是说,在函数中定义的变量的作用域是在函数定义时就已经确定的,而不是在函数执行时才确定的。当执行到一个函数时,JavaScript引擎会在当前函数的作用域中寻找变量。如果当前函数的作用域中没有找到变量,就会沿着作用域链向上查找,直到找到该变量为止。

    所以,在你提供的代码片段中,如果函数change内部没有声明变量b,那么JavaScript引擎就会沿着作用域链向上查找,找到外部作用域中的变量b。如果外部作用域中也没有变量b,那么就会继续向上查找,直到找到为止。

    如果你遇到了与作用域链相关的问题,可以检查一下你的代码中是否出现了函数嵌套等情况,以及是否在函数内部声明了变量,但是又在其外部使用了变量等。另外,你也可以在浏览器的开发者工具中打开控制台,调试执行过程,寻找问题所在。

    评论

报告相同问题?

悬赏问题

  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp
  • ¥15 学不会递归,理解不了汉诺塔参数变化