1. CSS选择器优先级
!important > 内联 > ID选择器 > 类选择器 > 标签选择器
2.移动端单位rem em px区别
rem:相对于HTML根元素的百分比。1rem等于html标签的font-size长度。
em:相对于父元素的字体大小。
px:相对于显示器屏幕分辨率。
3. vh,vw作用,解决什么问题?
视口单位(Viewport units)
1vw=视口宽度的1%
1vh=视口高度的1%
vh/vw的区别
单位 | 依赖于 |
---|---|
% | 元素的祖先元素 |
vh/vw | 视口的尺寸 |
4.用CSS隐藏页面元素
方面 | display:none |
opacity:0 |
visibility:hidden |
---|---|---|---|
DOM结构 | 让元素完全从渲染树中消失,不能点击 | 元素不会从渲染树消失,只是内容不可见,可以点击 | 元素不会从渲染树消失,只是内容不可见,不能点击 |
继承 | 不可通过修改子元素属性改变子元素是否隐藏 | 不可通过修改子元素属性改变子元素是否隐藏 | 可以通过修改子元素的属性决定子元素是否隐藏 |
性能 | 修改元素会造成文档回流,性能消耗较大。读屏器不会读取display:none的元素内容。 | 重建图层,性能较高。 | 只会造成本元素的重绘,性能消耗较少 |
5.JS数据类型
基本类型 :Number String Undefined Null Boolean
ES6新加的Symbol(表示独一无二的值)
引用类型 :Object、Array、Function、Date、RegExp
6.undefined和null的区别
undefined
是一个没有设置值的变量。表示一个变量没有被声明,或者声明了但没有被赋值(未初始化),一个没有传入实参的形参变量的值为undefined;如果一个函数什么都不返回,则该函数默认返回undefined。
1 | var a |
null
是一个只有一个值的特殊类型,表示一个空对象引用。“什么都没有”
1 | typeof null //object |
js将未赋值的变量默认值设为undefined;js从来不会将变量设为null。
1 | null == undefined //true |
主要区别在于它们被转换为原始类型的方式。
1 | var v1 = 5+ null |
7.== 和===的区别
===
严格相等,会比较两个值的类型和值==
抽象相等,比较时,会先进行类型转换,然后再比较值
--- 本文结束 The End ---