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语句