千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

1.如何理解HTML5结构语义化?
便于团队的开发和维护。
在没有加载CSS的情况下也能呈现较好的内容结构与代码结构,易于阅读
有利于SEO,搜索引擎的爬虫依赖于标签来确定上下文和哥哥关键字的权重。
方便其他设备的解析 (如屏幕阅读器,盲人阅读器等),利于无障碍阅读,提高可访问性
2、box-sizing
box-sizing: content-box 盒子的尺寸仅包括内容的宽度和高度,不包括内边距和边框。也就是说,设置了宽度或高度的盒子,实际显示的宽度或高度将会增加内边距和边框的值
box-sizing: border-box 盒子的尺寸包括了内容、内边距和边框的宽度和高度。也就是说,设置了宽度或高度的盒子,其实际显示的宽度或高度不会再增加内边距和边框的值
3.类组件和函数式组件的区别
语法上: 函数式组件返回一个jsx元素,类组件是Es6语法糖class,继承component这个类
类组件有生命周期,函数式组件没有生命周期,借用useEffect模拟生命周期类组件通过state 和setstate进行状态管理,函数组件使用useState
类组件能够捕获到最新的值,this可以获取到最新的props参数保存在内存当中,函数式组件是通过闭包来构建的,无法从外面访问到,也无法在外面修改
4.react事件绑定的原理
给document加对应的函数,创建listenerBank
触发时调用调用分发函数dispatchEvent,把d当前对应的所有回调函数都加到listenerBank中在listenerBank根据key值查找事件回调并合成到event中
最后进行批处理,按照冒泡排序来的
5.react组件通信如何实现
父传子props子传父回调函数+props
Context上下文
redux状态管理action 改变state8.react 中的refs的作用ref获取到实例和Dom元素