有时候,拿到别人的代码,我们并不知道某一个对象拥有哪些属性和属性值,这个时候别慌,我们可以通过for in 语句来获取对象里的属性和属性值,(最底部有源代码,可复制)
语法:for(变量名 in 对象名){
(循环体)
}
下面是代码图,有很详细的注释。
控制台输出三次,表示该对象拥有三个属性。
有人就会问了:我要这有啥用,能不能完全获取对象中的具体属性和属性值?
答案肯定是能的!看下面代码:
注释写的很详细了,循环体每次执行时,都会将对象的某一个属性名赋值给变量 a ,然后我们打印这个变量a,对象 obj 所拥有的属性就全部打印出来了。
然后我们还能把它所对应的属性值给打印出来,看如下代码(看红色方框部分):我们是不能用obj.a 的,控制台输出的全是underfind,因为a是个变量,所以我们通过加一个中括号的方式来让obj获取到该对象名,从而获取到属性对应的属性值。
源代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>使用for in 语句打印出对象中的属性</title>
<script type="text/javascript">
//利用json语法创建对象
var obj={
name:"邓超",
gender:"男",
age:20
}
/*我如果想要知道obj有哪些属性的话就要用到for in语句了
* 语法: for(变量名 in 对象名){}
*/
for(var a in obj){
//每次执行时,会将对象中的一个属性的名字赋值给变量a,所以我们通过打印变量a来获取对象中的属性
console.log(a);
//打印属性值
console.log(obj[a])
}
</script>
</head>
<body>
</body>
</html>