前端面试——那些年踩过的炸弹!

原创 年树先生 随笔 前端面试 5187阅读 2018-09-28 22:12:24 举报

前段时间面试(包括阿里巴巴的电话面试),遇到过一些试题,且面试中出现机率较高的提问/笔试,有些答的不是很好挂掉了,今天终于有时间整理出来分享给大家,内容主要分为两部分:面试中遇到的、在复习过程中看到认为值得加深巩固的; 如有理解的错误或不足之处,欢迎留言纠错。
前端面试——那些年踩过的炸弹!
Javascript篇

1.请将下列b函数进行修改,保证每次调用a都能+1(考闭包):

2.js有哪些基本数据类型:

ECMAScript 标准定义有7种数据类型:

Boolean
Null
Undefined
Number
String
Symbol :(ECMAScript 6 新定义 ,Symbol 生成一个全局唯一、表示独一无二的值)
Object :(Array、Function、Object)
3.用js将 386485473.88 转换为 386,485,473.88(千位分割符):

4.js的 for 跟for in 循环它们之间的区别?

遍历数组时的异同: for循环 数组下标的typeof类型:number, for in 循环数组下标的typeof类型:string

遍历对象时的异同:for循环 无法用于循环对象,获取不到obj.length; for in 循环遍历对象的属性时,原型链上的所有属性都将被访问,解决方案:使用hasOwnProperty方法过滤或Object.keys会返回自身可枚举属性组成的数组。

5.给table表格中的每个td绑定事件,td数量为1000+,写一下你的思路(事件委托题):

6、js把一串字符串去重,列出你的思路(两种以上):

你对重绘、重排的理解?

首先网页数次渲染生成时,这个可称为重排;

修改DOM、样式表、用户事件或行为(鼠标悬停、页面滚动、输入框键入文字、改变窗口大小等等)这些都会导致页面重新渲染,那么重新渲染,就需要重新生成布局和重新绘制节点,前者叫做"重排",后者"重绘";

减少或集中对页面的操作,即多次操作集中在一起执行;

总之可以简单总结为:重绘不一定会重排,但重排必然为会重绘。

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复