這讓我瘋狂了幾個星期。我有一個可變數據,我想在我的程序的不同部分訪問。像這樣,跨範圍的Javascript值丟失
var data = [];
SomeNamespace.module.method(function(){
data.push(['some data']);
});
// data is undefined here
但是,它似乎丟失了,可能與範圍有關。我怎樣才能解決這個問題?
在此先感謝!
這讓我瘋狂了幾個星期。我有一個可變數據,我想在我的程序的不同部分訪問。像這樣,跨範圍的Javascript值丟失
var data = [];
SomeNamespace.module.method(function(){
data.push(['some data']);
});
// data is undefined here
但是,它似乎丟失了,可能與範圍有關。我怎樣才能解決這個問題?
在此先感謝!
該函數是一個回調函數,所以只有在回調函數運行之前數據纔會被填充。
所以這個:
var data = [];
(function(){
data.push(['some data']);
})();
data; // ['some data']
組數據,而是:
var data = [];
var func = function() {
data.push('values');
}
data; // [] - empty array
數據不應該是'undefined'那裏,它應該要麼有它的數據,或者仍然取決於一個空的陣列 - 當'SomeNamespace.module.method'實際運行你傳入的函數。 – evan
對不起,是的,它仍然是一個空數組。 – maximus