gpt4 book ai didi

javascript - 简单的 Javascript 不能完全按照我想要的方式工作

转载 作者:行者123 更新时间:2023-11-30 12:18:20 25 4
gpt4 key购买 nike

我想迭代数组,但是,在打印出数组中的所有值后,它打印出一个未定义的,我想知道为什么会发生这种情况以及如何修复它。谢谢!

var utilities = {
printAllMembers:function(targetObject){
for(i in targetObject){
document.write("<br>"+targetObject[i]);
}
}
}
var batman=[];
batman[0]="batman";
batman[1]="batman@bat.man";
batman[2]="male";

document.write(utilities.printAllMembers(batman));

最佳答案

it prints an undefined, I wondered why this is happening...

因为你在这里告诉它:

   document.write(utilities.printAllMembers(batman));
// ^

这会调用utilities.printAllMembers,然后会输出调用该函数的结果。由于该函数不返回值,因此调用它的结果是 undefined

...and how I can fix it

要调用它,就调用它:

utilities.printAllMembers(batman);

旁注:不要使用 for-in(没有保护措施)来遍历数组索引,这不是它的用途。 This answer有完整的讨论以及循环遍历数组的各种选项。


旁注 2:您的代码正在成为 The Horror of Implicit Globals 的牺牲品因为你从不声明 i。请记住使用 var(通过 ES5)或 let(ES6+,截至 2015 年 8 月尚未在野外得到很好的支持)声明您的变量。

关于javascript - 简单的 Javascript 不能完全按照我想要的方式工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31770937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com