1.CSS盒模型
在HTML中每个元素都可以看做是一个盒子
盒子由内外边距(margin + padding)、边框(bored)、内容(content)组成
两种盒模型:
标准盒模型:margin、padding、border、content
ie盒模型:margin、content(border+ padding)
模型切换:box-sizing:content-box、border-box
默认是标准盒模型
2.CSS选择器的优先级
3.px和rem
px是像素,显示器上给我们呈现的画面的像素,每个像素的大小是固定的,是绝对单位长度
rem是相对单位,基于页面的html根节点font-size来改变,默认情况下 1rem=16px
4.重绘和重排有什么区别
重排:(回流):布局引擎会根据所有的样式计算出盒模型在页面上的位置和大小
重绘:浏览器会根据重排后的页面来渲染新的页面
5.元素水平居中
定位+margin
定位+transfrom
flex布局
gird布局
table布局
6.CSS的哪些属性可以继承?哪些不可以?
CSS的三大特性:继承、层叠、优先级
子元素可以继承父元素的样式
字体的一些属性:font
文本的一些属性:color、行高
元素的可见性:visiblity
列表的属性:list-style
表格布局的属性:border-spacing
页面的样式属性:page
声音的样式属性
7.js检测数据类型的方式有哪几种
typeof
instanceof
原型链
constructor
8.闭包
什么是闭包? 函数嵌套函数,内部函数被外部函数返回并保存下来,就会产生闭包。
9.事件委托是什么?
10.基本数据类型和引用数据类型的区别
基本数据类型:String、Number、Boolean、undefined、null 保存在栈内存,保存的是一个具体的值
引用数据类型:Object、Arrary、Function 保存在堆内存,声明一个引用类型的变量,将地址保存 假如两个引用类型指向同一个地址,那么改变其中一个就会改变另一个
11.new操作符具体做了什么
先创建一个空对象
newObj
将对象与构造函数的原型链进行连接
将构造函数的this绑定到newObj上
根据构造函数的返回值类型判断,如果是原始类型则忽略,是引用类型的话返回对象,需要处理