对象重复自身
objects repeating themselves
本文关键字:对象 更新时间:2023-09-26
我正在尝试上一课,学习javascript对象等等。。。我在循环中遇到了一个问题,我想对象本身就是
var darkness = {
add: function(a,b) {
for(var title in b) {
alert(a+ " is the "+ b.title );
alert(a+ " holds many of"+b.dream);
}
}
};
darkness.add('darkness',{
title :'feelings',
dream:'dreams'
});
这会提醒两次吗?测验http://jsbin.com/ogunor/1/edit
有人能帮我更好地学习这些吗
我将尝试解释。您传递的b
对象有两个属性:title和dream。您的for(var title in b)
循环,将遍历每个对象属性键。。意味着将运行两次-第一次迭代将具有title = 'title'
和第二次title='dream'
。在每次迭代中,您都会发出两次警报,从而得到4次警报。您可以完全删除循环,只保留警报,以便它只发出两次警报。
var darkness = {
add: function(a,b) {
for(var title in b) { // runs twice cuz you have 2 properties
alert(title); // try alerting title just to see what it hold in each iteration.
alert(a+ " is the "+ b.title );
alert(a+ " holds many of"+b.dream);
}
}
};
darkness.add('darkness',{
title :'feelings', // 1st property
dream:'dreams' // 2nd property
});
您的代码会发出两次警告,因为您正在循环遍历b
对象中的每个属性(title
和dream
)。
这就足够了:
var darkness = {
add: function(a,b) {
alert(a+ " is the "+ b.title );
alert(a+ " holds man of " +b.dream);
}
};
darkness.add('darkness',{
title :'feelings',
dream:'dreams'
});
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 序列化数据属性中对象的最可靠方法
- 如何访问声音管理器2创建的声音对象
- FabricJs-限制主对象内添加对象的移动区域
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 值对象在某个变量发生更改后发生更改
- 如何为json对象中的段发送array[]
- Chrome开发工具(如何知道我在调用哪个javascript对象)