/*
* 什么事枚举对象中的属性?
* 下面以一个例子来慢慢解释
*/
//创建一个对象
var obj = {
name: '唐一彩',
age: 4000,
gender: '男',
address: '白马寺'
};
/*
* 对象创建好后,又加了四个属性,这样看的话我们能知道的属性名有四个。
* 但是,在真正的项目中不会写的这么清楚,因为我们不知道,那想要知道一
* 个对象中有多少个属性,那就需要使用一个叫for...in语句
* 是个什么东西哪?
* 下面就写一下语法:
* for (var 变量 in 对像) {
*
* }
* for...in语句中对象有几个属性,循环体就会执行几次
* 每次执行时,会将对象中的一个属性的名字赋值给变量
*/
for(var n in obj) {
//console.log加上n打印次数为 5 次,不加console.log只打印一次
// console.log('hello');
/*
* 打印结果:
* name
* age
* gender
* address
*
* 通过打印结果来看 n 有对象的全部属性名,也就是说使用 in 时,会把对象内
* 所有的属性名赋值给 n 变量,根据对象内的属性名个数,来进行循环,循环一次对象就复制一次给 n 变量
*
* 既然,能得到属性名,那么就可以打印属性值,该怎么打印属性值哪??
* obj.n 是不能实现打印属性值的,因为对象中没有属性名叫 n 的,所以不能去掉n
* 这样不能打印,那该怎么打印属性值??
*
* 只需要对象后面加上一个中括号,然后在括号中添加 n 就可以了
*/
// console.log(n);
/*
* 打印结果:
* 唐一彩
* 4000
* 男
* 白马寺
*
* 通过 obj[n] 可以打印对应的属性值
*/
console.log(obj[n]);
}
如有不对,请留言指正,看到后我会尽快改正,谢谢!复制代码
转载于:https://juejin.im/post/5b1e314bf265da6e2d32c8ce