一、语义化标签有那些(至少说出5种)
- header:头部区域
- footer:尾部区域
- nav:导航部分
- section:文档某一节
- main:内容区域
- canvas:绘制图形
- audio:音频
- video:视频
二、CSS 选择器有哪些,选择器权重计算方法
通用选择器、元素选择器、类选择器、ID选择器、属性选择器、伪类(:hover)、伪元素(:first-child),子选择器、相邻选择器
权重:Important > Style行内(1000) > ID选择器(100) > 类选择器(10) > 标签选择器(1) > 通用选择器(*)、子选择器(>)、相邻选择器(+)(0)
三、call,apply,bind 有什么区别和应用场景
相同点:都可以改变函数内部this指向问题
区别:
- call 和 apply 会调用函数,并且改变函数内部 this 指向
- call 和 apply 传递的参数不同,call 传递参数形式为 aru1,aru2…….apply 传递的参数为数组形式(这个数组在执行函数时会改变为字符串或数字)
- bind 不会调用函数,可以改变函数内部 this 指向
// call,apply,bind传参call(this, 参数1, 参数2, 参数3…)apply(this, [参数1, 参数2, 参数3…])bind(this, 参数1, 参数2, 参数3…)
应用场景:
- call主要用于继承
- apply 经常跟数组有关系,比如借助Math内置对象实现求数组最大最小值问题
- 不调用函数,又想改变函数内部this指向 比如 定时器之类的问题
