JS中for...in 语句用于对数组或者对象的属性进行循环操作吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中for...in 语句用于对数组或者对象的属性进行循环操作吗?相关的知识,希望对你有一定的参考价值。

是的

for(variable in object)
object为null、undefined,javascript会跳过循环执行后面的代码,在ECMAScript3中可能会抛出类型错误异常
object为原始值,会转换为与之对应的包装对象
若为对象类型,javascript会依次枚举对象的属性来执行循环,在每次循环前,javascript都会先计算variable表达式的值,并将属性名(一个字符串)赋值给它

例子

var obj = type:'human',history:'300000years',use:'example';
var arr2 = [],i=0;
for(arr2[i++] in obj) /*empty*/ ;
console.log(arr2); //["type","history","use"]
参考技术A for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
语法:
for (变量 in 对象)

在此执行代码

“变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。

实例:

使用 for ... in 循环遍历数组。
<html>
<body>

<script type="text/javascript">
var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"

for (x in mycars)

document.write(mycars[x] + "<br />")

</script>

</body></html>

js的for衍生对象

转自博客http://www.cnblogs.com/abcdecsf/p/9944451.html

JavaScript for/in 语句

作用:for/in 语句用于遍历循环对象属性。

循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。

例子:

循环对象属性:

技术分享图片
1 var person = {fname:"A", lname:"B", age:20}; 
2 
3 var text = "";
4 var x;
5 for (x in person) {
6     text += person[x];
7 }
技术分享图片

text 输出结果为:

A B 20

JavaScript for/of 语句

作用:ES6中的for of可以相较于for更简单地正确的遍历数组

例子:

技术分享图片
1 Array.prototype.method=function(){
2   console.log(this.length);
3 }
4 var myArray=[1,2,4,5,6,7]
5 myArray.name="数组";
6 for (var value of myArray) {
7   console.log(value);
8 }
技术分享图片

 

JavaScript for each...in 语句

作用:一些对象的内置属性是无法被遍历到的,包括所有的内置方法,例如String对象的indexof方法.不过,大部分的用户自定义属性都是可遍历的。

for each...in使用一个变量迭代一个对象的所有属性值,对于每一个属性值,有一个指定的语句块被执行.

例子:

技术分享图片
1 var sum = 0;
2 var obj = {prop1: 5, prop2: 13, prop3: 8};
3 
4 for each (var item in obj) {
5   sum += item;
6 }
7 
8 print(sum); // 输出"26",也就是5+13+8的值
技术分享图片

以上是关于JS中for...in 语句用于对数组或者对象的属性进行循环操作吗?的主要内容,如果未能解决你的问题,请参考以下文章

js的关于for的语句

js关于for

For的衍生对象

怎么用js拿到一个对象里面的属性

如何遍历一个JS对象中的所有属性

js的for衍生对象