【问题标题】:Get a reference to the script object获取对脚本对象的引用
【发布时间】:2020-05-18 23:20:29
【问题描述】:

至少在 V8 中,在调试器中,您会看到 localscriptglobal 对变量进行分类。

我得到了global 的引用。为此,您只需在进入属性时设置this,以便稍后在需要时使用。

但是,我找不到如何保存对 script 对象的引用。我认为它存在是因为这是调试器在监视窗口中循环的内容。

【问题讨论】:

  • 我似乎无法获得script 标签。你能分享一个示例代码来获取它吗?
  • @lamblichus,你在使用 V8 吗?我不记得那是不是我开始看到脚本对象的时候

标签: debugging google-apps-script ide v8


【解决方案1】:

在 ES6 之前,函数外的所有声明(以及函数声明本身)都是全局对象的属性。 ES6之后,有两种全局记录:

  • 对象记录 - 与 ES5 相同。

    • 函数声明
    • 函数发生器
    • 变量赋值var
  • 声明性记录 - 新

    • letconstclass

声明性记录中的那些不能从全局“对象”访问,尽管它们本身是全局的。它们可以从脚本访问,但是保存声明性记录本身的对象/内部数据结构不能从脚本内部访问或枚举。此声明性记录在 v8 调试器中显示为 script 对象的属性。

参考资料:

【讨论】:

  • 谢谢。不错的答案。您认为 GAS 调试器如何在监视窗口的“脚本”对象下收集所有此类声明?
  • @toddmo 可以从调试器访问声明性记录。 “如何”是实现特定的并且可能是专有逻辑,即使我们知道,如果不进行逆向工程和重建新的自定义 v8 引擎,也无法复制。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多