web前端面试题及答案
引导语:了解一些面试题及答案,可以帮助自己顺利通过面试哦。以下是小编为大家整理的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操作。
5、为什么用多个域名来存储网络资源会更有效?
确保用户在不同地区用最快的速度打开网站,其中某个域名崩溃,用户也能通过其他域名访问网站。
6、如何消除一个数组里面重复的元素?
indexOf():返回某个指定的字符串值在字符串中首次出现的位置,对大小写敏感,若没有,则返回-1。
7、写一个function,清除字符串前后的空格(兼容所有的浏览器)。
8、统计字符串中字母个数或统计最多字母数。
str.charAt(i):返回指定位置的字符,i在0~str.length之间,如果i不在0~str.length之间,该方法返回一个空字符串。
9、截取字符串"abcdefg"中的"egf"。
10、实现一个函数clone,可以对JS中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
11、JS中如何检测一个变量是string类型?
typeof(obj)=="string";
obj.constructor==string;
12、写出三个使用this的典型应用。
事件:onclick this,发生事件的对象;
构造函数:this,new出来的object;
call/apply:改变this;
13、网页中实现一个计算当年还剩多少时间的倒计时程序,要求网页上实时动态显示“xx年还剩xx天xx时xx分xx秒”。