支持`for of` JavaScript语句有多好?

The*_*Kid 16 javascript for-loop browser-support ecmascript-6

var nameArray = [

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

];  

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

}
Run Code Online (Sandbox Code Playgroud)

我想知道,for( item of array )在浏览器支持,移动JavaScript支持方面是如何受到支持的 - 我意识到你做不到greater than >,这是纯粹的迭代?

我刚刚发现了这个,这是我希望的那么好吗?

Gia*_*hra 11

这样做的经典方法如下:

  for(var i = 0; i < nameArray.length; i++){
    var str = nameArray[i];
  }
Run Code Online (Sandbox Code Playgroud)

这将为您提供"foreach"循环的确切功能,我怀疑这是您在此之后的真实情况.这还为您提供了在Internet Explorer中工作的额外好处.

MDN中描述的确切循环也有广泛的知识.此时Android网站似乎并非所有内容都支持您的方法,因此请检查该页面上的兼容性列表; 似乎是新JavaScript的未来版本,可能会在其中包含OOP.

  • 说"对于每个循环都是...... OO语言的属性"被严重误导. (10认同)
  • 我不明白"OOP"与此有什么关系. (4认同)

Ami*_*oki 8

MDN:

而对于...迭代属性名称,对于迭代属性值.

以上是for...of循环的作用.以下是其现状.

这是一项实验技术,是Harmony(ECMAScript 6)提案的一部分.由于此技术的规范尚未稳定,请检查兼容性表以了解各种浏览器的用法.另请注意,随着规范的变化,实验技术的语法和行为可能会在未来版本的浏览器中发生变化.