前端面试题-----js部分
1、DOM操作-------怎样添加、移除、移动、复制、创建和查找节点?
创建新节点:createDocumentFrament() // 创建一个DOM片段
createElement() // 创建一个具体的元素
createTextNode() // 创建一个文本节点
添加节点:appendChild()
移除节点:removeChild()
替换节点:replaceChild()
插入节点:insertBefore() // 在已有的子节点前插入新节点
查找节点:getElementByTagName() // 通过标签名称查找
getElementByClassName() // 通过类名查找
getElementById() // 通过id查找
2、如何实现浏览器内多个标签页之间的通信?
调用localStorage、cookies等本地存储方式。
3、如何对网站的文件和资源进行优化?
文件合并
文件最小化、文件压缩
使用CDN托管
使用缓存
其他。。。。
4、减少页面加载时间的方法?
优化图片
优化CSS(压缩合并)
网址后加斜杠
标明高度和宽度(如果浏览器没有找到这两个参数,它需要一边下载图片一边计算大小,如果图片很多,浏览器需要不断地调整页面。这不但影响速度,也影响浏览体验。 当浏览器知道了高度和宽度参数后,即使图片暂时无法显示,页面上也会腾出图片的空位,然后继续加载后面的内容。从而加载时间快了,浏览体验也更好了。)
减少http请求(合并文件,合并图片)
5、null和undefined的区别?
null是一个表示“无”的对象,转为数值时为0;undefined是一个表示“无”的原始值,转为数值时为NaN;
当声明的变量还未被初始化时,变量的默认值为undefined,null用来表示尚未存在的对象,常用来表示函数企图表示一个不存在的对象;
undefined表示“缺少值”,就是此处应该有一个值,但是还没有定义。典型的用法如下:
1)变量被声明了,但没有赋值时,等于undefined;
2)调用函数时,应该提供的参数没有提供,该参数等于undefined;
3)对象没有赋值的属性,该属性的值为undefined;
4)函数没有返回值时,默认返回undefined。
null表示“没有对象”,即该处不应该有值。典型用法如下:
1)作为函数的参数,表示该函数的参数不是对象;
2)作为对象原型链的终点。
6、document.write和innerHTML的区别?
前者只能重绘整个页面
后者可以重绘页面的一部分。
7、call()和apply()的区别和作用?
作用:动态改变某个类的某个方法的运行环境。
区别:

浙公网安备 33010602011771号