js逻辑练习题得有关对象的key和value值的输出

本文介绍了一道JavaScript逻辑题,涉及for-in循环遍历对象的特性。题目要求理解for-in循环如何遍历对象属性,指出结果只包含value而不包括key。通过举例区分数组和对象中for-in循环的差异,帮助读者掌握关键知识点,得出正确答案。
摘要由CSDN通过智能技术生成

题目如图
在这里插入图片描述
选项如图
在这里插入图片描述
这是一道js逻辑题,我们先看代码,首先声明了一个对象person,然后又定义了一个空变量,之后使用了for-in循环遍历这个对象,循环体为一个累加结构,txt=txt + person[x];,最后在页面上alert结果。这是题面,接着我们分析代码逻辑。
要想做对这道题,必须明白for-in循环遍历的执行逻辑,for-in语句,用来枚举person对象的属性,for in 中 x代表key值,所以取出的值为value 。所以结果中一定是value值,而不包含key值,其实明白这里再去看选项也能排除出来a了。
下面举个例子来理解for-in循环,在数组和对象中是有区别的:
数组中:

var arr = ['曹操','曹植','曹丕']
for(i in arr){
    console.log(i) //0 1 2
    console.log(arr[i]) //曹操 曹植 曹丕
}


对象中

var obj = new Object();
obj = {
    father:'曹操',
    son:'曹植'
}
for(i in obj){
    console.log(i) ; //代表key值 father  son
    console.log(obj[i]) ; //代表vulue值 曹操  曹植
}

如上图所示,在数组和对象中for-in循环的输出值,要注意的是,在对象中遍历对象所得的i是key值,也就是属性,而obj [i] 值是value值。
所以这道题答案也就很明了啦,最后输出结果相当于拼接一个空字符串,那么结果就是a啦!有不明白的欢迎留言!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值