每天10个前端小知识 【Day 5】_data instanceof element 这里的element 是啥

  • pop()
  • shift()
  • splice()
  • slice()

改 - 即修改原来数组的内容,常用splice

  • splice()

查 - 即查找元素,返回元素坐标或者元素值

  • indexOf()
  • includes()
  • find()

5. 遍历数组的方式有哪些?

javascript原生遍历方法的建议用法:

  • 用for循环遍历数组
  • 用for…in遍历对象
  • 用for…of遍历类数组对象(ES6)
  • 用Object.keys()获取对象属性名的集合
    在这里插入图片描述

6. async/await 怎么进行错误处理?

(async () => { 
    const fetchData = () => { 
        return new Promise((resolve, reject) => { 
            setTimeout(() => { 
                resolve('fetch data is me') 
            }, 1000) 
        })
    } 
    
    // 抽离成公共方法 
    const awaitWrap = (promise) => {
        return promise 
            .then(data => [null, data]) 
            .catch(err => [err, null]) 
    } 
    
    const [err, data] = await awaitWrap(fetchData()) 
    console.log('err', err) 
    console.log('data', data) 
    // err null 
    // data fetch data is me 
})()

7. CSS动画和JS实现的动画分别有哪些优缺点?

CSS动画:

优点 - 浏览器可以对动画进行优化。代码相对简单,性能调优方向固定。对于帧速表现不好的低版本浏览器,CSS3可以做到自然降级,而JS则需要撰写额外代码。

缺点 - 运行过程控制较弱,无法附加事件绑定回调函数。代码冗长,想用CSS实现稍微复杂一点动画,最后CSS代码都会变得非常笨重。

JS动画:

优点 - 控制能力很强, 可以在动画播放过程中对动画进行控制:开始、暂停、回放、终止、取消都是可以做到的。 动画效果比css3动画丰富,有些动画效果,比如曲线运动,冲击闪烁,视差滚动效果,只有js动画才能完成。CSS3有兼容性问题,而JS大多时候没有兼容性问题。

缺点 - 代码的复杂度高于CSS动画。JavaScript在浏览器的主线程中运行,而主线程中还有其它需要运行的JavaScript脚本、样式计算、布局、绘制任务等,对其干扰导致线程可能出现阻塞,从而造成丢帧的情况。

8. 前端实现动画有哪些方式?

前端常用的动画实现方式有以下种:

  • css3的transition 属性
  • css3的animation 属性
  • 原生JS动画
  • 使用canvas绘制动画
  • SVG动画
  • Jquery的animate函数
  • 使用gif图片

9. 写一个返回数据类型的函数,要求自定义的类实例化的对象返回定义的类名

function myTypeof(data) { 
    var toString = Object.prototype.toString; 
    var dataType = data instanceof Element ? "Element" : toString.call(data).replace(/\[object\s(.+)\]/, "$1") 
    
    if(dataType === 'Object'){ 
        return data.constructor.name 
    } 
    
    return dataType 
};

10. cookie、localStorage和sessionStorage 三者之间有什么区别

生命周期

最后

其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)

《前端开发四大模块核心知识笔记》

最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

  • 22
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值