多くのライブラリがこのスタイルを使用してライブラリを定義していることに気付きました。また、最初の自己呼び出し関数が Require.js または AMD システムと関係があることにも気付きました。これらは常に引数として factory を持っています。Require.js をさらに調べ、常に Browserify を調べます。
括弧内の最初の自己呼び出し関数の最後にメイン コードが渡されるのはなぜですか。これはクロージャーなのか、それとも単に無名関数と見なされるのか、両方について詳しく説明します。これにはどのような利点がありますか?string
クロージャー内で作者が a 、this
、および aを渡しているように見えますcallback
。
これにより、以下の例のメイン オブジェクトをグローバル化するクリーンで安全な方法がライブラリに提供されますPlease
か?
(function( globalName, root, factory ) {
if ( typeof define === 'function' && define.amd ) {
define( [], factory );
}
else if ( typeof exports === 'object' ) {
module.exports = factory();
}
else{
root[globalName] = factory();
}
}('Please', this, function(){
私は JavaScript を深く掘り下げて、独自の小さな MVC アーキテクチャを作成しようとしています。自分が愚かだとか、以前にやったことがあるとは聞きたくありません。自分自身に挑戦して学びたいと思っています。
JavaScript ライブラリまたはさらに優れた MVC ライブラリを作成するための優れたリソースがあれば、ぜひ知りたいです。