Javascript 执行函数定义内的循环
在我的一个项目中,我使用API从其他网站获取数据,但要获取所有数据,我需要用两个不同的变量编写8块相同的代码。显然,我想定义函数并使用它 函数有两个参数,一个是object,另一个是id。在函数中,我使用object.length循环对象以获得我需要的所有数据。循环在函数定义内执行,我得到Javascript 执行函数定义内的循环,javascript,function,loops,Javascript,Function,Loops,在我的一个项目中,我使用API从其他网站获取数据,但要获取所有数据,我需要用两个不同的变量编写8块相同的代码。显然,我想定义函数并使用它 函数有两个参数,一个是object,另一个是id。在函数中,我使用object.length循环对象以获得我需要的所有数据。循环在函数定义内执行,我得到uncaughttypeerror:无法在控制台中读取未定义的错误的属性“length” 这是我的密码: function listAll(objectProp, destination) { for
uncaughttypeerror:无法在控制台中读取未定义的错误的属性“length”
这是我的密码:
function listAll(objectProp, destination) {
for (var i = 0; objectProp.length > i; i++ ) {
var option = document.createElement("option");
var value = document.createTextNode(objectProp.name);
option.appendChild(value);
document.getElementById(destination).appendChild(option);
}
}
我一直在寻找解决方案,但我找不到同样的问题。有人能解释一下为什么会这样吗
谢谢
更新:
代码应该是这样的
function listAll(objectProp, destination) {
if ( typeof(objectProp) != 'undefined' ) {
for (var i = 0; objectProp.length > i; i++ ) {
var option = document.createElement("option");
var value = document.createTextNode(objectProp[i].name);
option.appendChild(value);
document.getElementById(destination).appendChild(option);
}
}
}
谢谢你的帮助 使用.length
无法在JavaScript中获取对象的长度。您需要将数据存储在一个数组中,或者使用这样的解决方案:确保传递给函数的变量是实际实例化的,并且不是未定义的
,在调用函数之前,将第一个参数记录到控制台。您可以执行一个简单的检查if(typeof(objectProp)!=“undefined”){
谢谢大家!这有帮助!我以前试过,但后来什么也没发生。原来我在调用函数时丢失了一个字母!对不起,我说得不够具体。在该对象中有一个数组,我在其上使用.length