for... of语句创建一个循环遍历可迭代对象,包括:内置String,Array,类似Array的对象(例如,参数或NodeList)和用户定义的可迭代对象。
它调用一个自定义迭代钩子,其中包含要为对象的每个不同属性的值执行的语句。
for ... in 和 for ... of语句都会迭代某些内容。它们之间的主要区别在于它们迭代的内容:
for...in - 语句遍历对象的枚举的属性,以任意顺序
for...of - 语句遍历可迭代对象定义要遍历的数据,可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句。
for (variable of iterable) {
 //要执行的语句 
}let iterable = [10, 20, 30, 40, 50];
for (let x of iterable) {
    document.write(x);
}测试看看‹/›表格中的数字指定了完全支持for ... of语句的第一个浏览器版本:
| Statement |  |  |  |  |  | 
| for...of | 38 | 13 | 25 | 8 | 不支持 | 
| 参数 | 描述 | 
|---|---|
| variable | 在每次迭代中,将不同属性的值分配给variable | 
| iterable | 迭代其可迭代属性的对象 | 
| JavaScript版本: | ECMAScript 1 | 
|---|
JavaScript参考:JavaScript for...in语句