标签: jshint

Jshint.com要求"严格使用".这是什么意思?

Jshint.com提供错误:

第36行:var signin_found; 缺少"使用严格"声明.

javascript jshint

73
推荐指数
4
解决办法
5万
查看次数

JSHint"可能严格违规".当使用`bind`时

考虑这个简单的代码:

"use strict";

var obj = {
    f: function() {
        this.prop = 'value';
        g.bind( this )();
    }
};

function g() {
    console.log( this.prop );
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试验证此代码,jshint会Possible strict violation.在我调用时给出错误console.log( this.prop );.这是因为this在函数中严格模式下未定义.

但是我在调​​用它之前绑定了这个函数,所以它this是正确的对象.

我正在使用这种"设计模式"来避免使主要对象混乱.传递参数中的属性也会使函数混乱,所以我拒绝这样做.此外,这正是bind为了什么.

有没有办法让JSHint让我这样做?

javascript jshint

73
推荐指数
2
解决办法
3万
查看次数

如何告诉JSLint/JSHint已定义了哪些全局变量

在我的项目中,我们有一些全局变量作为容器:

MyProject.MyFreature.someFunction = function() { ... }
Run Code Online (Sandbox Code Playgroud)

那么我在整个网站上使用该脚本,JSLint/JSHint抱怨:

"MyProject"未定义

我知道我可以访问每个JavaScript文件并在其/*global MyProject*/上添加注释.但我正在寻找一种方法来在某种配置文件中定义该注释,所以我不必逐个文件添加此注释.

选择中的某种选择config/jshint.yml会很好.

javascript global-variables jslint jshint

72
推荐指数
2
解决办法
4万
查看次数

JShint中的ES6 - .jshintrc有esversion,但仍然收到警告(使用atom)

我正在使用原子,我已经尝试了几种不同的jshint包,它们都会发出警告

"template literal syntax' is only available in ES6 (use 'esversion: 6')"
Run Code Online (Sandbox Code Playgroud)

我创建了一个顶级.jshintrc文件(在root),并添加了以下json:

{
  "esversion":6
}
Run Code Online (Sandbox Code Playgroud)

但是,它仍然会抛出同样的错误.任何想法如何解决.我已经包含了JSHint选项页面的链接.我想开始使用ES6语法,但不希望有额外的警告.

谢谢SO社区!

javascript jshint ecmascript-6 atom-editor

66
推荐指数
3
解决办法
5万
查看次数

忽略JSHint中的camelcase变量

JShint和以下代码行有一些问题.

$location.path('map-' + map.id + '/venue-' + map.attributes.default_venue.value);
Run Code Online (Sandbox Code Playgroud)

我收到了错误,Identifier 'default_venue' is not in camel case.这通常不会成为问题,但我对变量名称没有任何控制权 - 它是通过JSON API引入的.

有没有办法可以为受影响的变量或它们出现的行抑制此问题?

如果之前有人问过这个道歉,我很确定它一定是,但我找不到解决办法.

javascript coding-style code-cleanup jshint

64
推荐指数
2
解决办法
3万
查看次数

在多个for循环中使用相同的变量名是不好的做法吗?

我只是使用JSHint来绘制一些JavaScript代码.在代码中我有两个for循环,这两个使用如下:

for (var i = 0; i < somevalue; i++) { ... }
Run Code Online (Sandbox Code Playgroud)

因此,两个for循环都使用var i进行迭代.

现在JSHint向我展示了第二个for循环的错误:"'我'已经定义了".我不能说这不是真的(因为它显然是)但我一直认为这无关紧要因为var i仅用于那个特定的地方.

以这种方式使用for循环是不好的做法吗?我应该在我的代码中为每个for循环使用不同的变量

//for-loop 1
for (var i = 0; ...; i++) { ... }

//for-loop 2
for (var j = 0; ...; j++) { ... }
Run Code Online (Sandbox Code Playgroud)

或者这是我可以忽略的错误(因为它不会破坏我的代码,它仍然会做它应该做的事情)?

JSLint顺便说一下.停止在第一个for循环验证,因为我没有在函数的顶部定义var i(这就是我首先切换到JSHint的原因).所以根据这个问题的例子:我应该使用JSLint还是JSHint JavaScript验证? - 无论如何我应该使用像这样的for循环来确认JSLint:

...
var i;
...
//for-loop 1
for (i = 0; ...; i++) { ... }
...
//for-loop 2
for (i = 0; ...; i++) { ... }
Run Code Online (Sandbox Code Playgroud)

这对我来说也很好看,因为这样我应该避免JSLint和JSHint中的错误.但我不确定的是,我是否应该为每个for循环使用不同的变量,如下所示:

...
var i, …
Run Code Online (Sandbox Code Playgroud)

javascript for-loop jslint jshint

61
推荐指数
4
解决办法
1万
查看次数

JS提示 - 不要在循环中创建函数

我无法解决JSHint的错误消息.这是我正在使用的循环:

for (i = 0; i < Collection.length; i += 4) {
    data.push({
        items : Collection.slice(i, i + 4).map(function(item) {
            return {
                id: item[0],
                title: item[1],
            };
        })
    });
}
Run Code Online (Sandbox Code Playgroud)

javascript jshint

58
推荐指数
3
解决办法
4万
查看次数

如何抑制"{variable}更好用点符号写."

是否有选项和/或如何抑制如下错误?

175,14:['tracker']最好用点符号书写.

javascript syntax properties jshint

56
推荐指数
2
解决办法
5万
查看次数

jshint在'case'之前抛出"预期的'break'语句"

嗨,当我的框架使用jshint验证我的javascript代码时,我遇到了麻烦.我故意使用了switch-case而没有break语句,但这部分代码在jshint检查时被捕获为错误.我的代码如下所示.

    switch (<no>){
    case 1:
        // does something
    case 2:
        //does something more
    default:
        // does something even more
   }
Run Code Online (Sandbox Code Playgroud)

Error from 'jshint' is like Line 203 character 41: Expected a 'break' statement before 'case'. 有关如何避免它的任何想法?或者在这种情况下使用切换案例是不好的做法?

javascript jshint

55
推荐指数
1
解决办法
1万
查看次数

在JSHint中禁用有关"require"功能的警告

我正在为Node.js编写一些代码,我目前正在使用JSHint检查我的代码.但是,当我使用该require函数导入模块时,它说:

'require'没有定义.

我怎么能抑制警告?

"use strict";
var express = require('express');   
var register = require('./routes/register');
Run Code Online (Sandbox Code Playgroud)

require node.js jshint

52
推荐指数
3
解决办法
3万
查看次数