我有三個腳本文件。 main.js,script1.js,script2.js。如何在不同的JS文件之間共享相同的作用域變量
的main.js只包括腳本到文檔:
function IncludeJs(sFileName) {
document.writeln('<script type="text/javascript" src="' + sFileName + '"></script>');
}
IncludeJs("../script1.js");
IncludeJs("../script2.js");
的script1.js和script2.js代碼下相同的命名空間。
script1.js:
var sharedNamespace = sharedNamespace || {};
(function() {
"use strict";
function func1(){
....
}
}).apply(sharedNamespace);
script2.js:
var sharedNamespace = sharedNamespace || {};
(function() {
"use strict";
function func2(){
return func1();
}
}).apply(sharedNamespace);
的FUNC2不工作,因爲FUNC1是不確定的。我怎樣才能把script1.js和script2.js放在與共享變量相同的作用域下?
的sharedNamespace.func1 = function(){}
的解決方案,是最差我,因爲我不希望公開此功能的客戶端誰用我的圖書館......
這是不可能的,提出的要求。您或者需要向每個人公開該功能,或者您需要一個腳本。沒有辦法讓一個函數既是私有的又是用一個不同的腳本共享的。 – vlaz
[javascript - 從原型定義的函數訪問私有成員變量]的可能重複(http://stackoverflow.com/questions/436120/javascript-accessing-private-member-variables-from-prototype-defined-functions) – yuvi