【问题标题】:jshint complaining about not defined? [closed]jshint 抱怨未定义? [关闭]
【发布时间】:2025-11-26 22:25:01
【问题描述】:

为什么 jshint 会警告 gConfiguration 未定义?我在函数开始之前定义了它。我也试着把它放在里面。我知道我可以在配置中将它声明为全局变量,但我不明白这是怎么回事? requirejs 在其声明的顶部使用了类似的模式。

/*jshint strict:true, undef:true */
/*global Backbone: true, $: true */

var gConfiguraton;
(function (global) {
    'use strict';
    var MYAPP = global.MYAPP = {};

    MYAPP.version = '0.0.1';

    // Defaults
    MYAPP.settings = {

        // Authorization
        authorizationKey: null,

        authorizationTokenType: 'Bearer',

        authorizationTimestamp: null,

        // Proxy
        proxyUrl: null

    };

    // Depend on jQuery and Backbone
    if (typeof $ !== 'undefined' && typeof Backbone !== 'undefined') {

        // Look for global configuration provided by user and merge their settings
        if (typeof gConfiguration !== 'undefined') {
            $.extend(MYAPP.settings, gConfiguration);
        }

        MYAPP.Events = $.extend({}, Backbone.Events);
    }

} (this));

【问题讨论】:

    标签: javascript jslint jshint


    【解决方案1】:

    因为您在 var 语句中拼错了它(在结尾附近缺少 i)。你有

    var gConfiguraton;
    

    你是说

    var gConfiguration;
    //             ^--- i here
    

    【讨论】:

      【解决方案2】:

      只是一个简单的错字:var gConfiguraton; 需要更改为 var gConfiguration;

      【讨论】:

        最近更新 更多