前端面试题(四)

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方法。

猜你喜欢

转载自www.cnblogs.com/JoeyOnly/p/11700163.html