for...of
for...of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句
const array1 = ['a', 'b', 'c'];
for (const element of array1) {
console.log(element);
}
// expected output: "a"
// expected output: "b"
// expected output: "c"
for...in
for...in语句以任意顺序遍历一个对象的除Symbol以外的可枚举属性,包括继承的可枚举属性。
let hd={
name:"jack",
age:12
};
console.log(Object.keys(hd));
console.log(Object.values(hd));
console.log(Object.entries(hd));
for (const key in hd) {
if (Object.hasOwnProperty.call(hd, key)) {
const element = hd[key];
console.log(element);
console.log(key);
}
}
let arr=[
{
name:"jack",
age:12
}
,
{
name:"lili",
age:13
}
]
let ul=document.createElement("ul");
for (const iterator of arr) {
let li=document.createElement("li");
li.innerHTML=`${arr.name}-${arr.age}`;
ul.appendChild(li);
}
document.body.appendChild(ul);
for (const [key,value] of Object.entries(hd)) {
console.log(key+"-"+value);
}