我刚开始使用JSlint来查看是否可以改进我的代码。它非常......迂腐但非常有用。
我目前遇到的问题是调用一个函数,但是jslint告诉我它还没有被定义。
该函数是一个简单的生成随机数函数,它存储在一个通用的“帮助文件”中。我不希望或看到需要将此函数复制到调用它的每个文件中,有点挫败了帮助文件的目的:)
还有别的东西让我失踪吗?我忍不住想到我犯了一个业余的错误,但看不出它。
此行显示错误:randomNum = random_num(layerDetails.length);
和random_num函数简单:
function random_num($value) {
$result = Math.floor(Math.random() * $value);
return $result;
}
感谢您的帮助。我希望jslint能给我清洁的健康状况。
答案 0 :(得分:3)
你有一个全局函数,它也是一个全局变量。全局通常是一件坏事,因为它们占用你的命名空间并导致命名冲突。
如果您不担心,您可以通过在每个文件的顶部添加以下注释来让JSLint知道您正在使用哪些全局:
/*globals random_num, $ */
我已添加$
以证明您可以提供全局变量列表。
但是,由于您使用的是节点I,建议将其添加到Utils
模块中。 JSLint不会抱怨,因为您将使用var
声明模块。
utils.js
module.exports = {
random_num: function random_num($value) {
$result = Math.floor(Math.random() * $value);
return $result;
}
};
其他地方:
var utils = require('./utils');
utils.random_num();