JS基础 -- 枚举对象中的属性

170 阅读2分钟
                /*
		 *  什么事枚举对象中的属性?
		 * 下面以一个例子来慢慢解释
		 */
		//创建一个对象
		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]);
		}
		
		如有不对,请留言指正,看到后我会尽快改正,谢谢!