前端面试题(四)
1. 现有代码如下:
let name = 'aaa';
let obj = {
name : 'bbb',
dose : function(){
this.name = 'ccc';
}
};
let does = obj.dose;
does();
console.log(obj.name);
问题:写出此时打印出的值。
//'bbb'
2. 编写一个函数解析 Query String 并反悔解析后的对象。
如输入:a=b&c=d;
则输出对象为:
{
a : 'b',
c : 'd'
}
3. 给下面列表中的li节点绑定点击事件,点击时弹出其在列表中的顺序(页面不跳转):
<ul id="nav">
<li><a href="http://qq.com">QQ</a></li>
<li><a href="http://baidu.com">Baidu</a></li>
<li><a href="http://jd.com">JD</a></li>
<li><a href="http://taobao.com">Taobao</a></li>
</ul>
如点击QQ所在列,则弹出1;点击Baidu所在列则弹出2... ...如此类推。
4. 请实现一个节流函数(throttle)函数。
5. 实现一个函数判断变量是Array,Object,String还是Number。
6. for(var a=0; a<10; a++){
setTimeout(function(){
console.log(a);
},1000)
}
输出是什么?为什么?
7. css实现左侧固定,右侧自适应布局。
8. 写出实现div水平垂直居中的几种方法。
9. 使用正则表达式实现连字符命名转换成驼峰命名。
10. 实现一个父类Parent,它可以接收一个名字name,同时还有一个eat方法,然后实现一个子类继承这个父类,同时子类覆盖父类的eat方法。