“for of”JavaScript语句的支持程度如何?

“for of”JavaScript语句的支持程度如何?,javascript,for-loop,ecmascript-6,browser-support,Javascript,For Loop,Ecmascript 6,Browser Support,我想知道,在浏览器支持、移动JavaScript支持方面,对(数组项)的支持程度-我意识到你不能做的大于>,这是纯粹的迭代 我刚刚发现了这一点,这是否如我所希望的那样好?这是ES6环路。根据我刚刚链接的MDN文章,有几种浏览器支持它(具体版本请参见此处),但IE不支持。目前,有几种移动浏览器也支持它。 而for…in迭代属性名称,for…of迭代属性值 以上是for…of循环的作用。以下是其当前状态 这是一项实验技术,是Harmony(ECMAScript 6)的一部分 提议。因为这项技术的规格

我想知道,在浏览器支持、移动JavaScript支持方面,
对(数组项)
的支持程度-我意识到你不能做的
大于>
,这是纯粹的迭代

我刚刚发现了这一点,这是否如我所希望的那样好?

这是ES6环路。根据我刚刚链接的MDN文章,有几种浏览器支持它(具体版本请参见此处),但IE不支持。目前,有几种移动浏览器也支持它。

而for…in迭代属性名称,for…of迭代属性值

以上是
for…of
循环的作用。以下是其当前状态

这是一项实验技术,是Harmony(ECMAScript 6)的一部分 提议。因为这项技术的规格还没有稳定下来,, 检查该表在各种浏览器中的使用情况。还请注意 实验技术的语法和行为是一个主题 在未来版本的浏览器中随规范的更改而更改


这样做的经典方法如下:

var nameArray = [

{ name: 'john', surname: 'smith'  },
{ name: 'paul', surname: 'jones' },
{ name: 'timi', surname: 'abel' },

];  

for (str of nameArray) {    
   console.log( str.name );

}
for(变量i=0;i
这将为您提供“foreach”循环的确切功能,我怀疑这正是您真正想要的。 这也为您提供了使用Internet Explorer的额外好处


此外,还广泛了解中描述的精确循环。在这个时候,Android web和它似乎不是一切都支持您的方法,所以检查该页面上的兼容性列表;似乎是新JavaScript的未来版本,其中可能包含OOP。同时,您可以使用以下内容:

  for(var i = 0; i < nameArray.length; i++){
    var str = nameArray[i];
  }

.

投票结束的范围太广了。我不明白“OOP”与此有什么关系。我认为foreach循环更多的是OO语言的特性。此外,这也很好地说明了所提到的版本,我很重视这一贡献。说“每个循环都是……OO语言的属性”是严重错误的信息。“尽管使用它作为迭代数组元素的一种方式很有诱惑力,for…in语句将返回用户定义属性的名称以及数字索引。因此,在对数组进行迭代时,最好使用带有数字索引的传统for循环,因为如果修改数组对象(例如添加自定义属性或方法),for…in语句除了对数组元素进行迭代外,还会对用户定义的属性进行迭代。”
for(element_idx in elements) {
    element = elements[element_idx];
    ...
}