繁体   English   中英

JSlint-在定义之前使用了“功能”

[英]JSlint - 'function' was used before it was defined'

我刚刚开始使用JSlint来查看是否可以改善代码。 这是相当...学究的,但非常有用。

我目前遇到的问题是调用了一个函数,但是jslint告诉我它尚未定义。

该函数是一个简单的生成随机数函数,它存储在通用的“帮助文件”中。 我不想或不需要将此功能复制到每个被调用的文件中,这有点违反了助手文件的目的:)

还有其他我想念的东西吗? 我忍不住以为我犯了一个业余错误,但是看不到它。

错误出现在此行: randomNum = random_num(layerDetails.length);

而random_num函数很简单:

function random_num($value) { $result = Math.floor(Math.random() * $value); return $result; }

谢谢你的帮助。 可以这么说,我希望jslint给我干净的健康单。

您有一个全局函数,它也是一个全局变量。 全局变量通常是一件坏事,因为它们会耗尽您的名称空间并引起命名冲突。

如果您不担心,可以通过在棉绒的每个文件的顶部添加以下注释,让JSLint知道正在使用的全局变量:

/*globals random_num, $ */

我添加了$以说明您可以提供全局列表。

但是,由于您使用的是Node,因此建议您将其添加到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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM