【发布时间】:2010-06-10 01:13:14
【问题描述】:
好的,我一直在学习 Javascript 的一些更高级的方面,现在尝试使用它我被卡住了。
这是我的代码:
function Data(){}
function init(state){
var item;
item=new Data();
item.fieldrid=17;
item.description='foo';
state.push(item);
};
function findInState(state,fieldrid) {
for (var item in state) {
alert(item.fieldrid); //prints undefined
if (item.fieldrid == fieldrid) {
return item;
}
}
return null;
}
var s=[];
init(s);
alert(s[0].fieldrid); //prints 17 (expected)
alert(findInState(s,17).fieldrid); //exception here. function returns null.
一个运行的例子是here at jsbin
为什么这不起作用?我希望findInState 中的警报会产生 17,但它会产生未定义的结果。
我做错了什么?
【问题讨论】:
标签: javascript arrays object