174道 JavaScript 面试题,助你查漏补缺!
11 js 获取原型的方法?
15 isNaN 和 Number.isNaN 函数的区别?
20 {} 和 [] 的 valueOf 和 toString 的结果是什么?
21 什么是假值对象?
22 ~ 操作符的作用?
23 解析字符串中的数字和将字符串强制类型转换为数字的返回结果都是数字,它们之间的区别是什么?
30 如何将浮点数点左边的数每三位添加一个逗号,如 12000000.11 转化为『12,000,000.11』?
31 常用正则表达式?
32 生成随机数的各种方法?
33 如何实现数组的随机排序?
36 寄生式组合继承的实现?
39 eval 是做什么的?
42 事件是什么?IE 与火狐的事件机制有什么区别? 如何阻止冒泡?
43 三种事件模型是什么?
44 事件委托是什么?
45 ['1', '2', '3'].map(parseInt) 答案是多少?
47 javascript 代码中的 'use strict'; 是什么意思 ? 使用它区别是什么?
51 Javascript 中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?
52 对于 JSON 的了解?
56 谈一谈浏览器的缓存机制?
58 同步和异步的区别?
59 什么是浏览器的同源政策?
60 如何解决跨域问题?
63 模块化开发怎么做?
64 js 的几种模块规范?
66 ES6 模块与 CommonJS 模块、AMD、CMD 的差异。
67 requireJS 的核心原理是什么?(如何动态加载的?如何避免多次加载的?如何 缓存的?)
68 JS 模块加载器的轮子怎么造,也就是如何实现一个模块加载器?
69 ECMAScript6 怎么写 class,为什么会出现 class 这种东西?
70 documen.write 和 innerHTML 的区别?
71 DOM 操作——怎样添加、移除、移动、复制、创建和查找节点?
76 数组的 fill 方法?
77 [,,,] 的长度?
81 哪些操作会造成内存泄漏?
82 需求:实现一个页面操作不会整页刷新的网站,并且能在浏览器前进、后退时正确响应。给出你的技术实现方案?
83 如何判断当前脚本运行在浏览器还是 node 环境中?(阿里)
84 把 script 标签放在页面的最底部的 body 封闭之前和封闭之后有什么区别?浏览器会如何解析它们?
85 移动端的点击事件的有延迟,时间是多久,为什么会有? 怎么解决这个延时?
86 什么是“前端路由”?什么时候适合使用“前端路由”?“前端路由”有哪些优点和缺点?
87 如何测试前端代码么? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
92 Object.is() 与原来的比较操作符 '==='、'==' 的区别?
93 escape,encodeURI,encodeURIComponent 有什么区别?
95 js 的事件循环是什么?
96 js 中的深浅拷贝实现?
98 函数柯里化的实现
99 99. 为什么 0.1 + 0.2 != 0.3?如何解决这个问题?
100 原码、反码和补码的介绍
101 toPrecision 和 toFixed 和 Math.round 的区别?
103 什么是 CSP?
107 SQL 注入攻击?
108 什么是 MVVM?比之 MVC 有什么区别?什么又是 MVP ?
109 vue 双向数据绑定原理?
111 使用 Object.defineProperty() 来进行数据劫持有什么缺点?
112 什么是 Virtual DOM?为什么 Virtual DOM 比原生 DOM 快?
113 如何比较两个 DOM 树的差异?
114 什么是 requestAnimationFrame ?
115 谈谈你对 webpack 的看法
116 offsetWidth/offsetHeight,clientWidth/clientHeight 与 scrollWidth/scrollHeight 的区别?
117 谈一谈你理解的函数式编程?
118 异步编程的实现方式?
120 get 请求传参长度的误区
121 URL 和 URI 的区别?
123 图片的懒加载和预加载
124 mouseover 和 mouseenter 的区别?
125 js 拖拽功能的实现
126 为什么使用 setTimeout 实现 setInterval?怎么模拟?
128 什么是 rest 参数?
130 Symbol 类型的注意点?
133 什么是 Proxy ?
134 Reflect 对象创建目的?
136 什么是 Promise 对象,什么是 Promises/A+ 规范?
137 手写一个 Promise
140 单例模式模式是什么?
141 策略模式是什么?
142 代理模式是什么?
143 中介者模式是什么?
144 适配器模式是什么?
146 Vue 的生命周期是什么?
147 Vue 的各个生命阶段是什么?
148 Vue 组件间的参数传递方式?
151 两个router 的区别?
152 vue 常用的修饰符?
157 如何封装一个 javascript 的类型判断函数?
158 如何判断一个对象是否为空对象?
160 手写一个 jsonp
161 手写一个观察者模式?
162 EventEmitter 实现
164 如何确定页面的可用性时间,什么是 Performance API?
165 js 中的命名规则
166 js 语句末尾分号是否可以省略?
167 Object.assign()
169 js for 循环注意点
170 一个列表,假设有 100000 个数据,这个该怎么办?
171 js 中倒计时的纠偏实现?
172 进程间通信的方式?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。