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 来清理我的代码,我只是从 Class 对象/函数定义中调用 FetchJSON() 但 JSLint 告诉我我需要在 FetchJSON() 调用之前使用“new”这个词我想我没有。该代码在没有“新”这个词的情况下工作得很好,但 JSLint 告诉我它应该有它。这是怎么回事?

谢谢

4

3 回答 3

1

调用函数 fetchJSON 而不是 FetchJSON,因此 JSLint 不认为它是构造函数。

于 2012-09-05T13:40:50.570 回答
1

按照惯例,只有打算用作构造函数(即带有new关键字)的函数才应以大写字母开头 -有关详细信息,请参阅此问题。

于 2012-09-05T13:42:12.050 回答
1

这是因为 of 的第一个字母FetchJSON大写,导致 JSLint 将其解释为构造函数。如果您希望尽管有警告,仍将其保持大写,您可以。

于 2012-09-05T13:42:32.803 回答