1.如何让(a == 1 && a == 2 && a == 3)的值为true?
const a = {
i: 1,
toString:()=> {
return a.i++;
}
}
console.log(a == 1 && a == 2 && a == 3); // true
2.for…in 迭代和 for…of 有什么区别
- 遍历数组使用 for of,遍历对象使用 for in
- for in 遍历的数组索引,for of 遍历数组元素
- for of 不能直接遍历对象,需要搭配 Object.keys(),否则报错
const a = {
name:'1',
age:17
};
const b = [1,2,3];
for (const key in a) {
console.log('a',key,a[key]); // a name 1 a age 17
}
for (const key in b) {
console.log('b',key,b[key]); // b 0 1 b 1 2 b 2 3
}
for (const key of Object.keys(a)) {
console.log('a,of',key,a[key]); // a,of name 1 a,of age 17
}
for (const key of b) {
console.log('b,of',key); // b,of 1 b,of 2 b,of 3
}