基本上我已經存儲了我的javascript結構內的數,類似如下:JavaScript的整數存儲未定義出於某種原因
MyProgram.data.main.padding;
console.log(MyProgram.data.main.padding); // will output the number, something like 34.
不過,我需要存儲在一個結構,這個數字我已經在
MyProgram.data.tests.main.padding; // this is a struct " {'width':0, 'padding':0, 'acceptable' //etc...}
設置的問題是當我這樣做:
MyProgram.data.tests.main.padding = MyProgram.data.main.padding;
console.log(MyProgram.data.tests.main.padding); // shows undefined
任何想法,爲什麼我不能儲存號碼?
我真的很感謝所有幫助...
有人能加載這個例子上的jsfiddle好嗎?我不知道如何: http://jsfiddle.net/hdnj52Lp/2/ 結果輸出在我的本地測試:0)可以接受的:真正 fontSize的未定義填充:未定義
function MyProgram() {
var mp = this;
this.main = {
'data' : {
'padding': 50,
'fontSize': 10,
'tests' : {
'padding':null,
'fontSize':null,
'results':new Array()
}
},
'test' : function() {
console.log('running');
var testResult = {'acceptable':false,
'fontSize':0,
'padding':0}
//after some testing:
var newComputedPadding = 100;
var newComputedFontSize = 32;
var acceptable = true;
testResult.acceptable = acceptable;
testResult.fontSize = newComputedFontSize;
testResult.padding = newComputedPadding;
mp.main.data.tests.results.push(testResult);
mp.main.outputResults();
},
'outputResults' : function() {
for(var i = 0; i < mp.main.data.tests.results.length; i++) {
console.log(i + ') acceptable: ' + mp.main.data.tests.results[i].acceptable + ' fontSize ' + mp.main.data.tests.results.fontSize + ' paddingSides: ' + mp.main.data.tests.results.padding);
}
}
}
}
var Load;
if (window.attachEvent) {
Load =function (elem, event, handler) {
elem.attachEvent('on'+event, function load() {
handler();
elem.detachEvent('on'+event, load);
});
};
} else {
Load =function (elem, event, handler) {
elem.addEventListener(event, function load() {
handler();
elem.removeEventListener(event, load, false);
}, false);
};
}
Load(window, 'load', function() {
var MP = new MyProgram();
MP.main.test();
});
當您執行console.log時,它會記錄什麼(MyProgram.data.tests.main) – wonderbell 2015-04-06 05:36:25
您是否在控制檯中看到任何錯誤? – Data2000 2015-04-06 05:37:24
沒有錯誤,並且它記錄:[object Object] – RON2015 2015-04-06 05:39:55