引导语:了解一些面试题及答案,可以帮助自己顺利通过面试哦。以下是小编为大家整理的web前端面试题及答案,供各位参考。
1、怎样添加、移除、移动、复制、创建和查找节点?
创建新节点:
creatDocumentFragment(),创建一个DOM片段。
creatElement(),创建一个具体的元素。
creatTextNode(),创建一个文本节点。
添加、移除、替换、插入:
appendChild(),添加。
removeChild(),移除。
replaceChild(),替换。
Before(),插入。
查找:
getElementsByTagName(),通过标签名称。
getElementsByName(),通过元素的Name属性的值。
getElementById(),通过元素id,唯一性。
2、JS中什么是伪数组?如何将伪数组转化为标准数组?
伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为。但仍可以对真正数组遍历方法来遍历它们。典型的是函数的arguement参数,还有像调用getElementsByTagName()、document.childNodes()之类的,它们都返回NodeList对象,都属于伪数组。可以用Array.prototype.slice.call(fakeArray)将数组转化为真正的Array对象。
3、JS中callee和caller的作用。
caller是返回一个对函数的引用,该函数调用了当前函数;
callee是返回正在被执行的函数,也就是所指定的function对象的正文。
4、请说出三种减低页面加载时间的方法。
1.压缩CSS、JS文件。
2.合并JS、CSS文件,减少HTTP请求。
3.外部JS、CSS文件放最底下。
4.减少DOM的操作,尽可能用变量替代不必要的DOM操作。