【问题标题】:How to define document in JavaScript如何在 JavaScript 中定义文档
【发布时间】:2018-01-03 19:11:59
【问题描述】:

我正在使用括号编辑器进行代码编辑。我已经安装了一个括号扩展“js lint”。对于 DOM 元素,我必须编写 document.getElemenstById 或其他 DOM 语法。 JS lint 显示错误“未定义文档”。那么请告诉我在 JS 中定义文档的语法是什么?

【问题讨论】:

  • "假设是浏览器?" i.stack.imgur.com/ch78U.png
  • document 是浏览器运行时环境提供的东西,所以除非你的 linter 有一个模式来解释它不会被定义。
  • 除了上面的@tadman,它是document.getElementById,而不是document.getElemenstById,因为ids 在一个文档中应该是唯一的,所以你永远不应该找到两个具有相同id

标签: javascript adobe-brackets


【解决方案1】:

JavaScript 是一种具有自己的语法和内置类型的语言。 document 未在 JavaScript(也更正式地称为 ECMAScript)specification 中定义。 document 由 JavaScript“宿主”环境作为对象 API 提供,在网页场景中,它是用户代理(也称为浏览器)。现代浏览器为 JavaScript 运行时提供了广泛的对象,而您的 linter 不太可能就这些对象向您提供建议。但是,document API 有一个标准,称为 Document Object Model,由万维网联盟 (W3C) 维护,该联盟为网络制定了许多标准。

为了更清楚地理解这一点,有一个非常流行的服务器端应用程序,称为 Node JS。 Node 包含符合 ECMAScript 标准的完整 JavaScript 运行时。但是 Node 是一个命令行、服务器端应用程序,而不是浏览器。您不会在 Node 中执行网页,因此永远不需要 document 对象。幸运的是,JavaScript 没有定义 document 对象,所以一切都很好。

【讨论】:

    【解决方案2】:

    删除“文档未定义”的所有 JS Lint 标记的快速方法是放置“var document;”在你的 JS 文件的顶部,这样你就可以更清楚地看到真正的错误是什么。

    不要离开“var document;”在 JS 文件中,因为它可能会导致问题。

    我希望这会让你的事情变得更容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-10
      • 2015-01-28
      • 2020-08-15
      • 2023-01-24
      • 2022-12-09
      • 1970-01-01
      • 2011-01-29
      • 2015-09-01
      相关资源
      最近更新 更多