Mec*_*h0z 2 javascript jquery jslint
我有几个这些错误,我不知道如何"正确"解决它,问题是我有很多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:在定义之前使用了'快捷方式'.
我也有自己的代码,我使用在其他文件中声明的函数,所以解决这个问题的"正确"方法是什么
如果变量由另一个文件定义,您可以通过以下格式提供注释来告诉JSLint:
/*global shortcut*/
Run Code Online (Sandbox Code Playgroud)
您可以通过逗号分隔它们来为多个变量执行此操作.追加:
和true
或false
(默认为false
)将指定当前文件是否可以重新分配变量:
/*global shortcut:false, otherVar:true*/
Run Code Online (Sandbox Code Playgroud)
您缺少var
关键字,用于定义全局和函数范围的变量.
var shortcut = { }
Run Code Online (Sandbox Code Playgroud)
你需要使用var
的每一个定义的变量,否则你会碰到的问题质量.
这是可能通过省略创建全局隐含的var
关键字,但它在高度皱起眉头,不是建议.如果需要从内部作用域创建全局变量,可以window
根据上下文将对象添加到或this
:
function defineShortcut() {
window.shortcut = {};
/* or this.shortcut = {}; */
}
defineShortcut();
Run Code Online (Sandbox Code Playgroud)