基本上我已经存储了我的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