在 JavaScript 中循环
for in loop in javascript
本文关键字:循环 JavaScript 更新时间:2023-09-26
我正在尝试理解以下JavaScript代码片段
<!DOCTYPE html>
<html>
<body>
<p>Click the button to loop through the properties of an object named "person".</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script type="text/javascript">
function myFunction()
{
var x;
var txt="";
var person={fname:"John",lname:"Doe",age:25};
for (x in person)
{
txt=txt + person[x];
}
document.getElementById("demo").innerHTML=txt;
}
</script>
</body>
</html>
我对这行有点困惑
for (x in person)
{
txt=txt + person[x];
}
正如我猜测的那样,它是一个关联数组,具有键>值关系,作为最终结果,它不应该像这样打印吗?
fname:"John",lname:"Doe",age:25
?非常感谢
首先,JavaScript 中没有关联数组的概念,person
是一个对象,对象使用 for-in
循环进行迭代。
该行:
txt = txt + person[x];
只需读取 person
对象的每个属性,并将 txt
变量中的值连接起来,得到结果:
JohnDoe25
仅供参考,始终对对象使用for-in
循环,对数组使用正常的for
循环。
如前所述,JavaScript 没有关联数组的概念,最好阅读一些关于 JS 的阅读,而不是正常的运行和测试方法,因为有些行为在逻辑上是不正确的,直到我们学会以 JS 的方式思考。
为..在循环中检查此 https://developer.mozilla.org/en/JavaScript/Reference/Statements/for...in 并读取hasOwnProperty
部分。这让很多人感到困惑。
我建议您阅读 http://eloquentjavascript.net/,每当有任何问题时,请继续检查MDN。 那里的文档非常好。
首先,person
不是array
而是object
其次for(x in person)
这里x
是key
因此person[x]
将给出值。
现在在第txt = txt + person[x]
行中,您只是连接字符串(值而不是键),因此txt
将只包含所有values
被之前的答案打败了 abt 10 秒:)
相关文章:
- 控制器不会进入for循环:javascript
- 使用来自不同循环Javascript的数据创建数组
- 在for循环-Javascript中创建新对象
- 日期循环 Javascript
- 在循环 javascript 内部创建一个数组
- 使用 for 循环 JavaScript 的打印范围
- 使用RegExp循环数组而不是for循环(Javascript)
- 如何避免循环Javascript
- 如何停止循环 - Javascript 100%
- 我想让我的程序重新运行开头,有点像循环 JavaScript
- css转换在for循环javascript中无法正常工作
- 在for循环javascript中创建对象
- do/while语句中的if-elseif语句无限循环javascript
- 在for循环Javascript中对数字进行分类和计数
- 如何一次运行一次循环javascript
- 请,需要帮助循环Javascript事件
- 在递归循环javascript之后,为JSON键变量使用自定义HTML元素
- 嵌套循环javascript棋盘
- 如何重新启动循环javascript循环
- 在循环 JavaScript 之后刷新页面