相关疑难解决方法(0)

JSLint:在定义之前使用过

嗨,我有3个javascript文件.

  • 的jquery.js
  • utility.js
  • file1.js

在file1.js我有

jQuery.noConflict()
jQuery(document).ready(function($) { 
 // ....
});
Run Code Online (Sandbox Code Playgroud)

我得到一个错误'jQuery'在定义之前就被使用了.并且"文档"在定义之前使用.

我如何安全地摆脱这个警告.

如果我做

var document = document || {}; 
Run Code Online (Sandbox Code Playgroud)

然后在我的utility.js中如果使用它,它将在IE中为null,在Firefox中为ok.

这是什么最好的解决方案?

javascript jslint undefined

95
推荐指数
2
解决办法
7万
查看次数

"[变量]在定义之前使用"错误

我有几个这些错误,我不知道如何"正确"解决它,问题是我有很多javascript文件(分离,以便于维护),我包括插件等.

所以在这个例子中我使用来自http://www.openjs.com/scripts/events/keyboard_shortcuts/的快捷方式

这只是定义了快捷方式

shortcut = {.......
Run Code Online (Sandbox Code Playgroud)

然后,当我在我的代码中使用它时

 shortcut.add("F1", function () { showDialog(); }, { 'type': 'keydown', 'propagate': false, 'target': editor_document });
Run Code Online (Sandbox Code Playgroud)

jslint会抱怨

JS Lint:在定义之前使用了'快捷方式'.

我也有自己的代码,我使用在其他文件中声明的函数,所以解决这个问题的"正确"方法是什么

javascript jquery jslint

2
推荐指数
1
解决办法
3960
查看次数

在外部文件中定义时,未定义JSHint抱怨对象

我在文件remover.js中有以下对象:

'use strict';

(function( remover, $, undefined ) {
  // ...
  // Object's definition
  // ...
}( window.remover = window.remover || {}, jQuery ));
Run Code Online (Sandbox Code Playgroud)

这用于外部文件main.js:

'use strict';

remover.doSomething();
Run Code Online (Sandbox Code Playgroud)

代码正在运行,但JSHint会引发以下问题:

Running "jshint:all" (jshint) task

app/scripts/stuff/main.js
  line 3  col 1  'remover' is not defined.

? 1 problem
Run Code Online (Sandbox Code Playgroud)

如何删除此警告?

javascript jshint

2
推荐指数
1
解决办法
3967
查看次数

标签 统计

javascript ×3

jslint ×2

jquery ×1

jshint ×1

undefined ×1