绝对干货,美团2018前端面试题,赶快来试试?

转载 (原文地址) 一叶翩翩 随笔 面试题 1297阅读 2018-03-23 10:56:28 举报

注意:部分答案为自己整理,正确性未知。代码运行结果部分亲手运行,没问题。

1)获取页面元素位置与宽高?

  • element.clientWidth = content + padding
  • element.clientHeight = content + padding
  • element.getBoundingClientRect() 返回值情况
  • left:包围盒左边 border 以外的边缘距页面左边的距离
  • right:包围盒右边 border 以外的边缘距页面左边的距离
  • top:包围盒上边 border 以外的边缘距页面顶部的距离
  • bottom:包围盒下边 border 以外的便于距页面顶部的距离
  • width: content + padding + border
  • height: content + padding + border
  • 注意,设置外边距时外边距合并的情况

2)requestAnimationFrame 原理?是同步还是异步?
异步,传入的函数在重绘之前调用,详细参考:

3)js事件机制?点击屏幕上一个按钮,事件是如何传播的?

捕获 冒泡

4)下面代码输出结果?为什么?

5)下面代码输出结果?为什么?

6)下面代码输出结果?为什么?

7)js bind 实现机制?手写一个 bind 方法?

8)实现 vue 中的 on,emit,off,once,手写代码。

9)用 js 实现双链表,手写代码?

10)vue 的双向绑定机制?详细介绍。

11)哪些操作会引起浏览器重绘和重排?

  • postion:absolute; left:100px;会不会引起?
  • translateX:100px;会不会引起?
  • getBoundingClientRect会不会引起?
  • getClientWidth、getClientHeight会不会引起?

12)页面性能监测?

评论 ( 1 )
最新评论
nyy3723 2018-04-09 16:08:33 1F

感觉始终绕不过闭包原型继承这些东西。