for... of語句創(chuàng)建一個循環(huán)遍歷可迭代對象,包括:內(nèi)置String,Array,類似Array的對象(例如,參數(shù)或NodeList)和用戶定義的可迭代對象。
它調(diào)用一個自定義迭代鉤子,其中包含要為對象的每個不同屬性的值執(zhí)行的語句。
for ... in 和 for ... of語句都會迭代某些內(nèi)容。它們之間的主要區(qū)別在于它們迭代的內(nèi)容:
for...in - 語句遍歷對象的枚舉的屬性,以任意順序
for...of - 語句遍歷可迭代對象定義要遍歷的數(shù)據(jù),可迭代對象(包括 Array,Map,Set,String,TypedArray,arguments 對象等等)上創(chuàng)建一個迭代循環(huán),調(diào)用自定義迭代鉤子,并為每個不同屬性的值執(zhí)行語句。
for (variable of iterable) { //要執(zhí)行的語句 }
let iterable = [10, 20, 30, 40, 50]; for (let x of iterable) { document.write(x); }測試看看?/?
表格中的數(shù)字指定了完全支持for ... of語句的第一個瀏覽器版本:
Statement | ![]() | ![]() | ![]() | ![]() | ![]() |
for...of | 38 | 13 | 25 | 8 | 不支持 |
參數(shù) | 描述 |
---|---|
variable | 在每次迭代中,將不同屬性的值分配給variable |
iterable | 迭代其可迭代屬性的對象 |
JavaScript版本: | ECMAScript 1 |
---|
JavaScript參考:JavaScript for...in語句