簡體   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