for-in循环和for-of循环区别

for-in语句用于遍历对象,而for-of语句用于遍历数组,但这不是必须的,只是这样操作比较方便。

遍历数组

For-in循环

var arr=[1,2,3,4,5,6,7] //申明一个数组
for(var x in arr){
    document.write("arr["+x+"]="+arr[x] + " "); //x为数组的下标
}

执行结果

For-of循环

var arr=[1,2,3,4,5,6,7] //声明一个纯数字数组
for(var value of arr){
    document.write(value + " ");//value为数组的元素,比For-in访问数组操作简单
}

var arr1=['aaa','bbb','ccc'] //声明一个字符串数组
for(var value of arr1){
  document.write("<br>")
  document.write(value + " ");
}

执行结果

遍历对象

For-in循环

var obj={name:'lilin',age:24,sex:'man'} //申明一个对象
for(var x in obj){
   document.write(x+"="+obj[x] + " ");//x为对象属性名,obj[x]为该属性的值
}

For-of循环

var obj={name:'lilin',age:24,sex:'man'} //申明一个对象
for(var x of Object.keys(obj)){
    document.write(x+"="+obj[x]+" ");//x为对象属性名,obj[x]为该属性的值
}

执行结果

注意

for-in和for-of遍历对象时,实质是遍历对象的数组形式,访问对象的属性值时必须使用“对象名[属性名]”的格式。

这里对最后一个循环做下验证

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.11.0.min.js"></script>
		<script type="text/javascript">
			var obj = {
				name: 'lilin',
				age: 24,
				sex: 'man'
			} //申明一个对象
			for(var x of Object.keys(obj)) {
				document.write(x + "=" + obj[x] + ","); //x为对象属性名,obj[x]为该属性的值
				console.log(x + "=", obj[x]);
			}
		</script>
	</head>
	<body>
 
	</body>
</html>

效果如下


参考https://blog.csdn.net/weixin_37858031/article/details/89574471

posted @ 2021-02-28 20:50  時光心向阳  阅读(116)  评论(0编辑  收藏  举报