js 相关面试题

2021-03-23  本文已影响0人  旧时袋

[1] == [1] 和 [1] === [1] 是 ture 还是 false

都是 false,因为 [1] 是引用类型,两个地址不一样无法,故都为 false

slice() 和 splice() 区别?

浅拷贝与深拷贝?

浅拷贝:B复制A,B发生变化,A也发生变化
深拷贝:B复制A,B发生变化,A不变

用 Promiser 如何处理多个异步请求?

使用 Promise.all()

/*生成promise对象*/
function getExif(file) => {
    let _this = this
    const promise = new Promise((resolve) => {
    EXIF.getData(file, function() {
        var allMetaData = EXIF.getAllTags(this);
        let name = file.name.split('.')[0];
        let exifPic = {}
        exifPic[name] = allMetaData
        resolve(exifPic)
    })
  })
  return promise
}
 
// 构建promise对象数组
let result = [];
for(let i =0; i < files.length; i++) {
    result.push(getExif(files[i]))
}
 
// 利用promise.all()解决异步问题
 
Promise.all(result).then((res) => {
    console.log(res)
})
上一篇 下一篇

猜你喜欢

热点阅读