首页 > 试题广场 >

下列代码 var person={fname:"John",

[单选题]
下列代码
var person={fname:"John",lname:"Doe",age:25};
var txt="";
for (x in person)
{
  txt=txt + person[x];
}
alert(txt);
输出为?
  • JohnDoe25
  • fname:"John",lname:"Doe",age:25
  • fname:John,lname:Doe,age:25
  • fnamelnameage
用[]访问属性的时候不是要用字符串的格式吗,不是person["name"];才可以吗
发表于 2017-04-14 00:26:17 回复(2)
A,对属性进行枚举
发表于 2016-08-22 19:54:22 回复(1)
数组中也有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值 曹操  曹植
}

编辑于 2018-01-04 14:21:58 回复(4)
for in 中 x代表key值,所以取出的值为value
发表于 2016-08-30 15:39:24 回复(0)
for-in语句,用来枚举person对象的属性。
for-in语句能够枚举对象的自定义属性和原型链属性,而hasOwnProperty只能获取自定义的属性
发表于 2015-09-20 16:32:06 回复(2)
for in:
使用for in 也可以遍历数组,但是会存在以下问题:

1.index索引为字符串型数字,不能直接进行几何运算

2.遍历顺序有可能不是按照实际数组的内部顺序

3.使用for in会遍历数组所有的可枚举属性,包括原型。例如上栗的原型方法method和name属性

所以for in更适合遍历对象,不要使用for in遍历数组。

ES6 :for of
for of遍历的只是数组内的元素,而不包括数组的原型属性method和索引name

记住,for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值。
for (var index in myArray) {
  console.log(myArray[index]);
}
for (var value of myArray) {
  console.log(value);
}
发表于 2019-12-21 14:09:33 回复(0)
  1. for....in的用法,用来枚举object和array中的value,需要注意的是在object中和在array中是有一些区别的
for(i in object){
    console.log(object);//输出object的属性名
    console.log(object[i]);//输出value
}
for(i in array){
    console.log(array);//输出array下标
    console.log(array[i]);//输出value
}
发表于 2022-01-07 18:06:23 回复(0)
for-in语句,用来枚举person对象的属性。
for-in语句能够枚举对象的自定义属性和原型链属性,而hasOwnProperty只能获取自定义的属性
http://blog.csdn.net/i10630226/article/details/49308189
发表于 2015-10-31 11:34:48 回复(0)
其实就是 for..in.. 输出的是key   
所以题目中的 x = key 后面输出的是  person[x] 其实就是 value

大家可以看看这个博客
发表于 2021-08-21 00:01:34 回复(0)
在数组中,for (i in arr),i是数组元素的下标,arr[i]数组的元素。 在对象中,for(i in obj),i是对象中的属性名,obj[i]是属性值。
编辑于 2022-02-24 01:16:24 回复(0)
考察for in 循环遍历数组
语法: (for key in obj) {
    console.log(obj[key]);
}
其中key存储的是obj中所有的属性名,
obj[key]存储的是obj中对应的属性值
发表于 2021-11-04 21:32:59 回复(0)
A
发表于 2015-04-05 16:12:51 回复(0)
发表于 2018-12-26 20:21:54 回复(0)
1:首先明确person是对象,用for in循环语句遍历对象的时候即 for(value in person)此时value这个变量接收的是person这个对象中的每个属性(注:是每个属性名,不是属性值)
2:person [value ]表示的是person对象中的每个属性值,但是这里这种用法我不能理解,因为读取对象中的属性,不是应该用person.value吗?
发表于 2018-07-18 11:11:44 回复(0)
实则有误,遍历对象并不能保证顺序的!!!
发表于 2018-04-24 08:28:16 回复(1)
for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值。
发表于 2024-06-06 09:29:56 回复(0)
for in 遍历对象属性名
发表于 2022-07-26 20:49:13 回复(0)
x前面可以不用var吗
发表于 2021-12-10 02:48:03 回复(0)
x获取到的是key分别为fname,lname,age, person[x];通过key获取value得到JohnDoe25
发表于 2021-10-07 08:04:59 回复(0)
c
发表于 2021-09-07 00:20:28 回复(0)