for of与for in 区别
区别(1):不能直接遍历对象(for of无法循环遍历对象)
// 区别(1)不能直接遍历对象(无法循环遍历对象)
{
let person = {fname:'tim', lname:'yiyi', age:15}
let text = '';
let x;
// for(x of person){
// console.log(x);
// }
}
预览效果:
区别(2):for/in for/of 遍历数组,遍历输出结果不同
// 区别(2) for/in for/of 数组对象, 遍历输出结果不同
// for/in for/of 输出的区别
{
let arr = ['tim','yiyi','riri','lili'];
// key 输出的是, 数组中每个单元所对应的索引
for(let key in arr){
console.log(key);
}
// item 输出的是 数组中每个单元上的内容
for(let item of arr){
console.log(item);
}
}
console.log('......分割线......');
预览效果:
区别(3):for in 会遍历自定义属性,for of不会
for in 能够遍历到数组的索引;for of 不会
// 区别(3);for in 会遍历自定义属性 , for of 不会
// for in 能够遍历到数组的索引: for of不会
// 如果我们 在数组上 自定义一个属性
// 例如 arr.name = '小李子'
{
var arr =['nick','freddy','mike','james'];
arr.name = '小李子';
for(let key in arr){
console.log(key + '===' + arr[key]);
}
console.log('......分割线......');
for(let key of arr){
console.log(key);
}
}
预览效果: