0

これが私のコードです:

var A = (function(){
    "use strict";

    function FetchJSON(){
        return someValue;
    }

    var Class = function(){
        // how do I correctly call FetchJSON() from inside this class definition?
    };

    return {
        Class: Class,
        fetchJson: FetchJSON
    };
})()

したがって、基本的にはJSLintを使用してコードをクリーンアップし、クラスオブジェクト/関数定義内からFetchJSON()を呼び出しているだけですが、JSLintは、FetchJSON()呼び出しの前に「new」という単語を使用する必要があると言っています。ないと思っています。コードは「new」という単語がなくても問題なく動作しますが、JSLint はそれが必要だと言っています。どうしたんだ?

ありがとう

4

3 に答える 3

1

慣例により、コンストラクターとして(つまりnewキーワードを使用して)使用することを目的とした関数のみを大文字で始める必要があります。詳細については、この質問を参照してください。

于 2012-09-05T13:42:12.050 に答える
1

これは、の最初の文字FetchJSONが大文字になっているため、JSLintがそれをコンストラクターとして解釈するためです。警告にもかかわらず、大文字のままにしておきたい場合は、そうすることができます。

于 2012-09-05T13:42:32.803 に答える
1

FetchJSON の代わりに関数 fetchJSON を呼び出して、JSLint がそれをコンストラクターと認識しないようにします。

于 2012-09-05T13:40:50.570 に答える