前端常见的面试题

该博客聚焦前端开发,介绍了页面渲染过程,包括生成DOM树、CSSOM树等;阐述避免JS停止页面渲染的方法,如使用defer或async;讲解ES6新特性,如let、const等;还解释节流和防抖概念,最后给出求字符串中出现次数最多字母的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.页面的渲染过程?

1.把html标签 生成dom树

2.把css承载  cssom树

3.遇到JavaScript停止渲染,先执行JavaScript

4.构造-->布局-->绘制-->呈现

二.如何避免js停止页面的渲染?

1.defer 或async 结合script的src属性使用

2.可以在script标签上 加上 defer async

3.defer :js的加载,不会停止页面的渲染,当js加载完成后,等页面加载完成

4.async js的加载,不会停止页面的渲染,当js加载完成后,就理解执行

三.ES6新增哪些新的特性:

let,const,箭头函数,默认参数,扩展运算符,结构解析,对称赋值

      //  类,继承,Set..

      //  let 和const 的区别?

      //   相同点: 实现块级作用域

      // 如何用js实现let和const?

      //  let 采用 闭包的方式

      //  const 采用  Object.defineProperty

箭头函数,this指向上下文(context)对象,环境对象

      //  箭头函数不能被实例化

      //  箭头函数不能被call,apply,bind改变this指向

扩展运算符...

      //  拷贝数组,合并数组,拷贝对象...

      //对对象增强

Object.is()

      //    object.assgin() 对象的拷贝和对象的合并

      //   对象属性和方法的简写

      // 类和继承

      //   class,extends

      //Set 集合,不会有重复

      //Symbol 表示唯一的标识符

      //...

四.什么是节流,什么是防抖?

//节流  

        //  _.throttle(回调函数,时间)

        //  同一时间内,执行次数变少

        //防抖

        //  _.debounce(回调函数,时间)

        //  本应该在一定的时间范围触发一次,如在该时间内又被激活,

        //      就会延迟下一次执行的时间

        //节流和防抖,都是为了稀释执行次数

五.求某个字符串出现次数最多的字母?

方法1:

方法2:

利用数组的下标解决

        //2.已知每个字符都会对应一个ASCII码,ASCII就相当于数组的下标

        //3.找出最大的值,根据最大的值,找出下标,而下标就是ASCII,把ASCII转换成字符

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值