私は中級レベルのJavaScript開発者であり、優れたJavaScript開発者がコードを作成する方法を理解しようとしています。そして、出発点としてBackboneライブラリーの調査を開始することにしました。
これがバックボーンの初期設定のコードスニペットです。それを理解するのを手伝ってください。
code1- _
(function(){
var root = this;
}).call(this);
単に()を使用するよりもcallメソッドを使用する特定の理由がありますか、それとも単なるコーディング設定です。同じコードを作成する必要がある場合は、次のようにします。
(function(root){
})(this);
code2- _
var Backbone;
if (typeof exports !== 'undefined') {
Backbone = exports;
} else {
Backbone = root.Backbone = {};
}
現在、グローバルスコープにはエクスポートの定義がなく、ローカルスコープのどこにも定義されていません。同じコードを記述している場合、ブロックがここで実行されているとしたらどうなりますか。
var Backbone = root.Backbone = {};
コード3
var _ = root._;
if (!_ && (typeof require !== 'undefined')) _ = require('underscore')._;
繰り返しますが、ローカルまたはグローバルスコープのどこにもrequireの定義が見つかりません