元のコード:
'use strict';
function GitJs(config) {
var defaults = {
inheriting: false,
clientId: undefined,
accessToken: undefined,
baseUrl: 'https://api.github.com',
mode: 'read'
};
this.config = $.extend(defaults, config);
}
/**
* Gets the jQuery method that GitJs#generateApiRequest is going to use to send the ajax request.
*
* @param {string} httpVerb The HTTP verb that the request will use,
* @return string
*/
GitJs.prototype.getCommandMethod = function (httpVerb) {
var method = $.get;
switch (httpVerb) {
case 'GET':
method = $.get;
break;
case 'POST':
method = $.post;
break;
}
return method;
};
...
新しいコード:
(function() {
'use strict';
'use strict';
function GitJs(config) {
var defaults = {
inheriting: false,
clientId: undefined,
accessToken: undefined,
baseUrl: 'https://api.github.com',
mode: 'read'
};
this.config = $.extend(defaults, config);
}
/**
* Gets the jQuery method that GitJs#generateApiRequest is going to use to send the ajax request.
*
* @param {string} httpVerb The HTTP verb that the request will use,
* @return string
*/
GitJs.prototype.getCommandMethod = function (httpVerb) {
var method = $.get;
switch (httpVerb) {
case 'GET':
method = $.get;
break;
case 'POST':
method = $.post;
break;
}
return method;
};
...
}());
このコードが立っているように、私が試みるとき:
var gitjs = new GitJs();
GitJsは未定義だと言われています
私が何を考えていたのか:
use strict
すべてのメソッドの中に入れたくありません。- コードが縮小されて別のファイルに連結された場合に、コードを適切に再生したいと思います。
.prototype
後で継承しやすくするために(そしてコードを明確にするために)構文を使用したいvar gitJs
グローバル変数は他の誰かのスクリプトによって上書きされる可能性があるため、作成したくありません。new
ユーザーは常にキーワードを介してオブジェクトコンストラクターを呼び出すと思います
記録のために、私は私が間違っていることを知っています。間違っています。私は自分の思考の欠陥がどこにあるのか理解できないようで、いくつかのガイダンスが欲しいです。