【发布时间】:2018-10-14 21:38:52
【问题描述】:
我将它们捆绑在一起,因为我认为它们是相关的。 最简单的简单代码:
'use strict';
const x = document.querySelector('#score strong');
导致以下结果
"use the function form of use strict (W097)"
"document is not defined (W117)"
这可能是错误或警告; W 建议发出警告,但我不知道如何确定。
那么,还有一个问题:这些是警告还是错误,我该如何自己判断?这是在哪里引用的?
我正在使用 Atom 1.31,我认为是 JSHint(不管是什么 - 我对这一切都很陌生)。我正在使用 ES6 - .jshintrc:
{
"esversion": 6
}
我应该如何在全局范围内指定 use strict?将它放在一个函数中以便全局使用意味着,呃,将我的脚本的全部内容放在一个函数中。不?是吗?
而我该如何规避这个文件没有定义的东西呢? 我试过了
const document=this.document;
const document=global.document;
const document=window.document;
所有都会导致警告/错误(无论如何)。
所以,明确地说,我的问题是:
这些是警告还是错误,我该如何自己判断?
我应该如何并且确实需要绕过使用严格的东西?
我该怎么做,我确实需要,规避文档未定义的事情?
【问题讨论】:
-
1) 这些是由 Atom 的 linting 功能对您的代码进行静态分析而产生的警告。它们是警告,因为 JSHint(linting 规则集)无法了解您可能会在哪里使用此代码。所以它做的最好的就是可以说Hey!您可能想多看一下这个!。无论这些错误如何,您的代码都可能有效,也可能无效。既然您知道它是 JSHint,请阅读文档:jshint.com/docs
-
许多人只是关闭了其中的许多规则。不建议这样做。理解规则会让你成为更好的 JavaScript 程序员!
-
您的问题是一个问题,将来应该仍然是一个问题。请不要编辑答案。
-
@RandyCasburn 如果您知道一个好的答案,请回答...我将您的评论编辑到社区 wiki,随时回滚:)
标签: javascript jshint