一,forEach和map的区别?
相同点
都是循环遍历数组中的每一项
forEach和map方法里每次执行匿名函数都支持3个参数,参数分别是item(当前每一项)、index(索引值)、arr(原数组)
匿名函数中的this都是指向window
只能遍历数组
都有兼容问题
不同点
map速度比foreach快
map会返回一个新数组,不对原数组产生影响,foreach不会产生新数组,
map因为返回数组所以可以链式操作,foreach不能
二,setTimeout 和 setInterval区别?
setTimeout允许我们在一段时间后运行一次函数。
setInterval允许我们重复运行一个函数,从时间间隔开始,然后以该间隔连续重复。
三, 网页布局有哪几种,有什么区别?
静态布局:意思就是不管浏览器尺寸具体是多少,网页布局就按照当时写代码的布局来布置;
自适应布局:就是说你看到的页面,里面元素的位置会变化而大小不会变化;
流式布局:你看到的页面,元素的大小会变化而位置不会变化——这就导致如果屏幕太大或者太小都会导致元素无法正常显示。
自适应布局:每个屏幕分辨率下面会有一个布局样式,同时位置会变而且大小也会变。
四,请说出三种减低页面加载时间的方法?
1、压缩css、js文件
2、合并js、css文件,减少http请求
3、外部js、css文件放在最底下
五,offsetWidth offsetHeight和clientWidth clientHeight的区别?
1,offsetWidth (content宽度+padding宽度+border宽度)
2,offsetHeight(content高度+padding高度+border高度)
3,clientWidth(content宽度+padding宽度)
4,clientHeight(content高度+padding高度)