ページに2つのjs
ファイルがありhtml
ます。最初のものがで始まる場合:
(function($){
..
..
}(jQuery));
にを挿入しvar
てfunction($,varname)
、return
その値を他のファイルで使用できますか?
ページに2つのjs
ファイルがありhtml
ます。最初のものがで始まる場合:
(function($){
..
..
}(jQuery));
にを挿入しvar
てfunction($,varname)
、return
その値を他のファイルで使用できますか?
これにはグローバル変数が必要です。これは、いくつかの方法のいずれかで行うことができます。値 "Bacon" を他のスクリプトに送信する必要があるとします。
(function($){
window.myScriptsExports = "Bacon";
}(jQuery));
// OR
var myScriptsExports = (function($){
// other code
return "Bacon";
// NO other code
}(jQuery));
// OR (not really recommended)
(function($){
// other code
$.myScriptsExports = "Bacon";
// other code
}(jQuery));
次のようなグローバル名前空間を使用して、コードを改善できます。
(function($,global){
var _obj = {};
_obj.property1 = 'Property1';
_obj.function1 = function() { console.log('Function 1');};
global.myObject = _obj;
}(jQuery,window));
//accessing
window.myObject.property1
//or
window.myObject.function1()
関数が同期であると仮定すると、グローバル関数を設定できます。
(function($){
..
var myvar = 666;
window.getMyVar = function() {
return myvar;
};
..
}(jQuery));
このファイルの後に 2 番目のファイルがインポートされた場合は、他の関数から使用できます。
(function($){
..
var myprevisouslysetvar = window.getMyVar();
..
}(jQuery));
ファイルは javascript では問題にならないことに注意してください。ページは、両方のファイルが連結された状態で同じように動作します ("use strict" の場合は詳細を除いて)。