私はこのコードを見ました(明らかにそれはjQueryにあり、変更が加えられています)
(function(window,undefined){
var jQuery=(function(){
var jQuery=something;
jQuery.xxx=xxx;
//...
return jQuery;
})();
//...
window.jQuery=window.$=jQuery;
})(window);
インライン関数呼び出しでコードをラップすることで変数スコープを明確に定義できることは理解していますが、
- 直接使用する代わりにパラメータを渡し
window
て、 undefined
未定義のパラメータによるインスタンスの取得、およびjQuery
別のインライン関数呼び出しの戻り値によって定義します。誰かが少し説明できますか?
書き込み#3をより明確に編集します。
私が理解しているのは、コードjQuery
が別の関数内で定義し、それを返すということです。
//(function(window,undefined){
var jQuery=(function(){
// Inside this function defines jQuery and return it?
var jQuery=function(selector,context){
return new jQuery(selector,context); //simplified
};
jQuery.xxx=xxx;
//...
return jQuery;
})(); // This executes the inline function and assign `jQuery` with the return value???
//... })(window);
これは次のようなものです。
function define_jQuery(){
// Inside this function defines jQuery and return it?
var jQuery=function(selector,context){
return new jQuery(selector,context); //simplified
};
jQuery.xxx=xxx;
//...
return jQuery;
}
//(function(window,undefined){
var jQuery=define_jQuery(); // This executes the inline function and assign `jQuery` with the return value???
//... })(window);
それはもっと簡単ではないでしょうか:
//(function(window,undefined){
var jQuery=function(selector,context){
return new jQuery(selector,context); //simplified
};
jQuery.xxx=xxx;
//...
//... })(window);