回调函数调用面试题
(function(cb) {
console.log(222);
cb(function(cb) {
console.log(333);
cb(444);
})
})(function(cb) {
console.log(111);
cb(function(r) {
console.log(r);
})
})
// 如上看似复杂,我们可以进行拆分一下
function A(cb) {
console.log(222);
cb(function(cb) {
console.log(333);
cb(444);
})
}
function B(cb) {
console.log(111);
cb(function(r) {
console.log(r);
})
}
A(B);
/*
调用A函数 B传递给A函数的行参cb
222
111
333
444
*/
对象面试题
/*
const obj = {};
const a = 'sex';
const b = 'name';
obj[a] = 10;
obj[b] = 20;
console.log(obj); // {sex: 10, name: 20}
console.log(obj[a],obj[b]); // 10 20
*/
const obj = {};
const a = { a: 100 };
const b = { b: 100 };
obj[a] = 10; // 对象的key只能存储字符串 a.toString() === '[object object]' obj['[object object]'] = 10
obj[b] = 20; // obj['[object object]'] = 20
console.log(obj); // {[object object]: 20}
console.log(obj[a],obj[b]); // 20 20