前端面试题汇总1
2016-09-19 16:28
363 查看
1、判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母
数字、下划线,总长度为5-20
2、截取字符串abcdefg的efg
3、判断一个字符串中出现最多的字符,统计这个次数
4、IE和FF脚本兼容问题
(1)关于event的用法,ie中可以直接使用event对象,但是Firefox中不可以直接使用
IE下可以直接用:
Firefox下要修改:
(2)事件绑定和解除:ie中是attachEvent和detachEvent,Firefox中是addEventListener和removeEventListenter
5、规避JavaScript多人开发函数重命名问题
(1)可以开发前规定命名规范,根据不同开发人员开发的功能在函数前加前缀
(2)将每个开发人员的函数封装到类中,调用时就调用类的函数,即使函数重名只要类名不重复就OK
6、JavaScript面向对象中继承实现
JavaScript面向对象中的继承实现一般都是用了构造函数和prototype原型链
7、编写一个方法,求一个字符串的字节长度,假设一个英文字符占用一个字节,一个中文字符占用两个字节
8、编写一个方法,去掉数组的重复元素
9、写出3个使用this的典型应用
(1)在HTML元素事件属性中使用,例如:
(2)构造函数
(3)css expression表达式中使用this关键字
10、如何显示/隐藏一个DOM元素?
obj是要操作的DOM元素
数字、下划线,总长度为5-20
var str="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2afxsld_sldkjie232"; var reg=/^[a-zA-Z][a-zA-Z0-9_]{4,19}$/; alert(reg.test(str));
2、截取字符串abcdefg的efg
var str="abcdefg"; var re=str.substr(str.indexOf("efg"),3); alert(re);
3、判断一个字符串中出现最多的字符,统计这个次数
var str="aabbbbbbbbbbbbbcedwwefaasdio0sda"; var obj={}; var ret=[]; for(var i=0;i<str.length;i++){ var key=str[i]; if(!obj[key]){ obj[key]=1; ret.push(key); }else{ obj[key]++; } } var max=-1; var key_max=""; for(var i=0;i<ret.length;i++){ var key=ret[i]; if(max<obj[key]){ max=obj[key[b]]; key_max=key; } } alert("出现最多的字符是:"+key_max+" 出现次数是:"+max);
4、IE和FF脚本兼容问题
(1)关于event的用法,ie中可以直接使用event对象,但是Firefox中不可以直接使用
IE下可以直接用:
<input type="button" value="click" onclick="doIt();"> <script> function doIt(){ alert(event); } </script>
Firefox下要修改:
<input type="button" value="click" onclick="doIt(event);"> <script> function doIt(oEvent){ alert(oEvent); } </script>
(2)事件绑定和解除:ie中是attachEvent和detachEvent,Firefox中是addEventListener和removeEventListenter
5、规避JavaScript多人开发函数重命名问题
(1)可以开发前规定命名规范,根据不同开发人员开发的功能在函数前加前缀
(2)将每个开发人员的函数封装到类中,调用时就调用类的函数,即使函数重名只要类名不重复就OK
6、JavaScript面向对象中继承实现
JavaScript面向对象中的继承实现一般都是用了构造函数和prototype原型链
7、编写一个方法,求一个字符串的字节长度,假设一个英文字符占用一个字节,一个中文字符占用两个字节
function getLength(str){ return str.replace(/[^\x00-xff]/g,"xx").length; }
8、编写一个方法,去掉数组的重复元素
var arr=[1,2,3,4,2,4,2,4]; var obj={}; var ret=[]; for(var i=0;i<arr.length;i++){ var key=arr[i]; if(!obj[key]){ obj[key]=1; ret.push(key); } } alert(ret);
9、写出3个使用this的典型应用
(1)在HTML元素事件属性中使用,例如:
<input type="button" value="click" onclick="alert(this.type);">
(2)构造函数
function animal(name,color){ this.name=name; this.color=color; }
(3)css expression表达式中使用this关键字
<table> <tr> <td> <div style="width:expression(this.parentNode.width);"></div> </td> </tr> </table>
10、如何显示/隐藏一个DOM元素?
obj.style.display="block";//或inline-block obj.style.display="none";
obj是要操作的DOM元素
相关文章推荐
- 前端面试题汇总
- 2017年前端面试题整理汇总100题
- 2017前端工程师面试题汇总
- 前端2017面试题汇总
- 前端面试题汇总2
- 前端面试题汇总(五)
- 纯福利 | 前端新人面试题汇总-基础篇
- 前端面试题汇总-基础篇
- 前端面试题整理汇总100题
- 2016年终前端HTML5开发面试题汇总整理
- 前端面试题汇总(一)
- 前端面试题汇总(四)
- 2016年11月前端面试题整理汇总
- 前端面试题汇总01
- 百度前端面试题汇总及答案
- 前端面试题汇总 笔试题
- 2017年前端面试题整理汇总100题
- 前端面试题汇总
- 前端JS面试题汇总 Part 3 (宿主对象与原生对象/函数调用方式/call与apply/bind/document.write)
- 前端面试题整理汇总