用友集团前端面经
1.==
和===的区别
==
用于一般比较,"===
"用于严格比较。
“==
”在比较的时候会进行强制类型转换,“===
”严格比较,不会进行强制类型转换,只要类型不匹配就返回false。
2.float和定位有什么区别
1.float定位关键词是margin/padding,position定位关键词是left/right/top/bottom。
2.float脱离文档流,在文中不占位置。
3.float是相对定位,会随着浏览器的大小和分辨率的变化而改变,而position就不行。
最大的区别:
float定位后,原位置被清空,position定位后,保留原位置。
3.BFC
BFC(BlockFormattingContext,BFC)是web页面的可视化css渲染的一部分,是布局过程中生成块级盒子的区域。
BFC指的是块级格式化上下文,一个元素形成了BFC之后,那么它内部元素产生的布局不会影响到外部元素,外部元素的布局也不会影响到BFC中的内部元素。一个BFC就像是一个隔离区域,和其他区域互不影响。
一般来说根元素是一个BFC区域,浮动和绝对定位的元素也会形成BFC,display属性的值为inline-block、flex这些
属性时也会创建BFC。还有就是元素的overflow的值不为visible时都会创建BFC。
4.懒加载实现原理
懒加载的原理就是先在页面中把所有的图片统一使用一张占位图进行占位,把真正的路径存在元素的“data-url”的自定义属性里,要用的时候就取出来,再设置;
5.利用数组的api实现队列怎么实现
JS分别为队列和堆栈的实现提供了两个函数。
队列实现:
shift() : 删除集合中第一个元素,并返回这个元素的值
unshift() :在集合开头添加新元素(一个或多个均可),并返回新的集合的长度
var queue = new Array();
// unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
queue.unshift(1);
queue.unshift(2);
queue.unshift(3);
queue.unshift(4);
// pop() 方法用于删除并返回数组的最后一个元素。
var first = queue.pop();
console.log(first); // 结