【发布时间】:2014-06-07 14:23:45
【问题描述】:
我刚刚开始使用 JSlint 来看看我是否可以改进我的代码。它相当...迂腐但非常有用。
我目前遇到一个问题,即调用了一个函数,但 jslint 告诉我它尚未定义。
该函数是一个简单的生成随机数函数,它存储在一个通用的“帮助文件”中。我不想或看到有必要将此函数复制到调用它的每个文件中,这有点违背了帮助文件的目的:)
我还有什么遗漏的吗?我不禁认为我犯了一个业余错误,但看不到它。
此行出现错误:randomNum = random_num(layerDetails.length);
而random_num函数很简单:
function random_num($value) {
$result = Math.floor(Math.random() * $value);
return $result;
}
感谢您的帮助。可以这么说,我希望 jslint 能给我一份干净的健康单。
【问题讨论】:
-
在 JSLint 页面的底部,就在 Options 的下方,是一个白框。列出您在那里调用的任何外部或全局函数。顺便说一句,道格拉斯·克罗克福德(Douglas Crockford)有一些好主意,但并非所有的想法都是非黑即白的。您可能想看看JSHint 作为替代方案。
-
嗯...我正在从终端运行它。 :) - 我正在使用节点扫描项目文件夹中的所有文件,是否有替代方法?
-
您也可以简单地将所有 JS 文件连接在一起,然后 jsLint 连接的文件。这模拟了当浏览器在给定页面中加载所有脚本时发生的情况,这样您声明的所有函数将在它们实际在浏览器中可用时可用,因此 JSLint 可以获得更清晰的整体画面。
-
@jfriend00 - 这听起来像是一个理想的解决方案,并且可以避免将 jslint cmets 放在每个文件的顶部。请你解释一下怎么做?
-
如果您只是偶尔这样做,您可以将它们全部复制/粘贴到编辑器中的临时主文件中(以正确的顺序)。如果您想要一个工具,有数百种用于连接 javascript 文件的工具(大多数还可以缩小您不需要的文件)。 YUI 压缩器就是其中之一,但您会在 Google 搜索“javascript 文件连接”时遇到数百个其他压缩器。
标签: javascript jslint