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,那么就会继续向上查找,直到找到为止。

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

    评论

报告相同问题?

悬赏问题

  • ¥15 u盘问题:盘符不显示 无媒体
  • ¥50 R语言读取nc按月均值转为tif
  • ¥30 智能车串级pid调参
  • ¥15 visual studio code翻译老是错误
  • ¥20 卫星测高数据的高程转换
  • ¥15 爬取招聘网站数据信息
  • ¥15 安装完tensorflow,import tensorflow as tf后报错,如何解决?
  • ¥15 ultralytics库导出onnx模型,模型失去预测能力
  • ¥15 linux下点对点协议连接2个USB串口的硬件流量控制问题
  • ¥15 SQL数据自动生成问题