JS基础相关面试题——回调函数&&对象

回调函数调用面试题

(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
posted @ 2021-06-17 19:32  春燕啄春泥  阅读(154)  评论(0编辑  收藏  举报