jshint抱怨未定义?

时间:2012-07-27 12:30:59

标签: javascript jslint jshint

为什么jshint警告gConfiguration没有定义?我在func开始之前定义了它。我也尝试过把它放进去。我知道我可以在配置中声明它是一个全局变量,但我不知道这是什么问题? 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));

2 个答案:

答案 0 :(得分:4)

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

var gConfiguraton;

你的意思

var gConfiguration;
//             ^--- i here

答案 1 :(得分:2)

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