forked from haizlin/fe-interview
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjs.md
202 lines (195 loc) · 19.6 KB
/
js.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# js试题
> 一周汇总一次
## 历史题目
> 最新:2019.10.06
- [清空一个数组的方式有哪些?它们有什么区别?](https://github.com/haizlin/fe-interview/issues/1313)
- [ES5和ES6、ES7有什么区别?](https://github.com/haizlin/fe-interview/issues/1298)
- [写一个根据xpath获取元素的方法](https://github.com/haizlin/fe-interview/issues/1294)
- [用js实现一个复制粘贴的功能](https://github.com/haizlin/fe-interview/issues/1289)
- [说说你对ArrayBuffer的理解!它和Array有什么区别?](https://github.com/haizlin/fe-interview/issues/1285)
- [如何解决在手机上长时间点击会选中图片?](https://github.com/haizlin/fe-interview/issues/1281)
- [你了解什么是AOP吗?它的作用是什么?举个例子](https://github.com/haizlin/fe-interview/issues/1277)
- [怎么下载一个zip文件?](https://github.com/haizlin/fe-interview/issues/1273)
- [举例说明如何使用WebSQL?](https://github.com/haizlin/fe-interview/issues/1269)
- [举例说明js如何拖拽排序?](https://github.com/haizlin/fe-interview/issues/1265)
- [怎样在JavaScript中创建一个worker线程?](https://github.com/haizlin/fe-interview/issues/1261)
- [写个给图片加水印的方法](https://github.com/haizlin/fe-interview/issues/1257)
- [说说你对执行上下文的理解](https://github.com/haizlin/fe-interview/issues/1253)
- [有些js库习惯在代码开头处添加分号有什么作用呢?除了分号还可以换成别的吗?](https://github.com/haizlin/fe-interview/issues/1249)
- [在js中attribute和property的区别是什么?](https://github.com/haizlin/fe-interview/issues/1235)
- [举例说明数组的排序方法有哪些?](https://github.com/haizlin/fe-interview/issues/1231)
- [举例说明js拖拽用到的事件有哪些?](https://github.com/haizlin/fe-interview/issues/1227)
- [用原生JS封装插件的方式有哪些?](https://github.com/haizlin/fe-interview/issues/1223)
- [用js模拟实现微信抢红包的算法,并说明你的思路](https://github.com/haizlin/fe-interview/issues/1219)
- [如何实现锁定网页、密码解锁的效果?说说你的方法和步骤是什么?](https://github.com/haizlin/fe-interview/issues/1215)
- [你知道1和Number(1)的区别是什么吗?](https://github.com/haizlin/fe-interview/issues/1211)
- [说说CORS为何要区分预检请求和简单请求呢?](https://github.com/haizlin/fe-interview/issues/1207)
- [实现异步编程有哪些方式?推荐用哪种?](https://github.com/haizlin/fe-interview/issues/1203)
- [为什么说js是单线程,而不是多线程呢?](https://github.com/haizlin/fe-interview/issues/1199)
- [使用js实现摩斯密码的加密和解密](https://github.com/haizlin/fe-interview/issues/1184)
- [请使用原生的js实现斐波那契数列](https://github.com/haizlin/fe-interview/issues/1180)
- [阻止事件的默认行为有哪些?说说它们之间的区别是什么?](https://github.com/haizlin/fe-interview/issues/1176)
- [请举例说明动态操作DOM的方法有哪些?](https://github.com/haizlin/fe-interview/issues/1171)
- [原生Math的方法有哪些?请列举并描述其功能](https://github.com/haizlin/fe-interview/issues/1167)
- [什么是词法分析?请描述下js词法分析的过程?](https://github.com/haizlin/fe-interview/issues/1163)
- [自己实现数组的 `map`、`filter`、`find` 方法](https://github.com/haizlin/fe-interview/issues/1159)
- [请描述下函数的执行过程](https://github.com/haizlin/fe-interview/issues/1154)
- [写一个洗扑克牌的方法](https://github.com/haizlin/fe-interview/issues/1150)
- [说用原生js实现封装一个选项卡的功能](https://github.com/haizlin/fe-interview/issues/1146)
- [说下你对柯里化函数(currying)的理解,它有什么运用场景?](https://github.com/haizlin/fe-interview/issues/1142)
- [请描述下ajax的请求都有哪些步骤?](https://github.com/haizlin/fe-interview/issues/1138)
- [用js实现页面局部打印和预览原理是什么呢?同时在IE上有什么不同?](https://github.com/haizlin/fe-interview/issues/1134)
- [用js实现小写金额转大写的方法](https://github.com/haizlin/fe-interview/issues/1130)
- [请解释下NaN === NaN的结果](https://github.com/haizlin/fe-interview/issues/1126)
- [请写出如下代码运行的结果并解释为什么?[代码]](https://github.com/haizlin/fe-interview/issues/1122)
```javascript
var type = 'images';
var size = {width: 800, height: 600};
var format = ['jpg', 'png'];
function change(type, size, format){
type = 'video';
size = {width: 1024, height: 768};
format.push('map');
}
change(type, size, format);
console.log(type, size, format);
```
- [写一个方法,将字符串中的单词倒转后输出,如:`my love` -> `ym evol`](https://github.com/haizlin/fe-interview/issues/1118)
- [原生的字符串操作方法有哪些?请列举并描述其功能](https://github.com/haizlin/fe-interview/issues/1114)
- [JSON.stringify有什么局限性和哪些技巧?](https://github.com/haizlin/fe-interview/issues/1110)
- [如何实现一个全屏的功能?](https://github.com/haizlin/fe-interview/issues/1106)
- [举例说明js关闭当前窗口有哪些方法?](https://github.com/haizlin/fe-interview/issues/1102)
- [说说你对js包装对象的理解](https://github.com/haizlin/fe-interview/issues/1098)
- [JavaScript有几种类型值?能否画出它们的内存图?](https://github.com/haizlin/fe-interview/issues/1094)
- [保护js代码的方式有哪些?分别说说他们的原理是什么?](https://github.com/haizlin/fe-interview/issues/1090)
- [你有用过webRTC吗?它有什么运用场景?](https://github.com/haizlin/fe-interview/issues/1085)
- [如何实现文件拖动上传?](https://github.com/haizlin/fe-interview/issues/1080)
- [分析`('b' + 'a' + +'a' + 'a').toLowerCase()`返回的结果](https://github.com/haizlin/fe-interview/issues/1075)
- [能否正确获取本地上传的文件路径?如果可以怎么做?如果不可以解释下为什么?](https://github.com/haizlin/fe-interview/issues/1071)
- [请说说escape、encodeURI、decodeURI、encodeURIComponent和decodeURIComponent的区别?](https://github.com/haizlin/fe-interview/issues/1067)
- [如何终止WebWork?](https://github.com/haizlin/fe-interview/issues/1063)
- [写一个方法把多维数组降维](https://github.com/haizlin/fe-interview/issues/1059)
- [使用正则去掉html中标签与标签之间的空格](https://github.com/haizlin/fe-interview/issues/1055)
- [document.write和innerHTML有什么区别?](https://github.com/haizlin/fe-interview/issues/1051)
- [如何使用js来截图?怎样截可见区域和整个页面?](https://github.com/haizlin/fe-interview/issues/1047)
- [分别写出防抖和节流的两个函数,并描述它们分别有什么运用场景?](https://github.com/haizlin/fe-interview/issues/1043)
- [写一个把数字转成中文的方法,例如:101转成一百零一](https://github.com/haizlin/fe-interview/issues/1039)
- [用js写一个事件侦听器的方法](https://github.com/haizlin/fe-interview/issues/1035)
- [函数声明与函数表达式有什么区别?](https://github.com/haizlin/fe-interview/issues/1031)
- [请用js编写一个红绿灯程序](https://github.com/haizlin/fe-interview/issues/1027)
- [请详细描述AJAX的工作原理](https://github.com/haizlin/fe-interview/issues/1023)
- [请描述下什么是原型模式?它主要运用在哪些场景?](https://github.com/haizlin/fe-interview/issues/1019)
- [请描述下js的原型和原型链的理解以及它们之间的关系](https://github.com/haizlin/fe-interview/issues/1015)
- [写一个方法判断给定的字符串是否同态(isomorphic)](https://github.com/haizlin/fe-interview/issues/1011)
- [说说你对作用域链的理解](https://github.com/haizlin/fe-interview/issues/1007)
- [写个方法,找出指定字符串中重复最多的字符及其长度](https://github.com/haizlin/fe-interview/issues/1003)
- [请说说json和jsonp的区别?](https://github.com/haizlin/fe-interview/issues/998)
- [你是如何更好地处理Async/Await的异常呢的?](https://github.com/haizlin/fe-interview/issues/994)
- [准确说出`'1,2,3,4'.split()`的结果是什么(包括类型和值)?](https://github.com/haizlin/fe-interview/issues/990)
- [不依赖第三方库,说下如何使用js读取pdf?](https://github.com/haizlin/fe-interview/issues/986)
- [分别封装精确运算的加减乘除四个方法](https://github.com/haizlin/fe-interview/issues/981)
- [不用第三方库,说说纯js怎么实现读取和导出excel?](https://github.com/haizlin/fe-interview/issues/977)
- [说说你理解的同步和异步的区别是什么?](https://github.com/haizlin/fe-interview/issues/973)
- [写例子说明如何给li绑定事件(ul下有1000+个li)?](https://github.com/haizlin/fe-interview/issues/969)
- [要实现一个js的持续动画,你有什么比较好的方法?](https://github.com/haizlin/fe-interview/issues/964)
- [分别写出数组的交集、并集、差集、补集这四个方法](https://github.com/haizlin/fe-interview/issues/960)
- [用js写出死循环的方法有哪些?](https://github.com/haizlin/fe-interview/issues/956)
- [js的函数有哪几种调用形式?](https://github.com/haizlin/fe-interview/issues/908)
- [解释下为什么`{} + [] === 0`为true?](https://github.com/haizlin/fe-interview/issues/904)
- [请描述下null和undefined的区别是什么?这两者分别运用在什么场景?](https://github.com/haizlin/fe-interview/issues/759)
- [写个方法随机打乱一个数组](https://github.com/haizlin/fe-interview/issues/749)
- [js异步加载有哪些方案?](https://github.com/haizlin/fe-interview/issues/745)
- [判断instanceof的结果并解释原因 [代码]](https://github.com/haizlin/fe-interview/issues/609)
```
function test(){
return test;
}
new test() instanceof test;
```
- [请写一个sleep(暂停)函数](https://github.com/haizlin/fe-interview/issues/602)
- [把Script标签放在页面最底部的`</body>`之前和之后有什么区别?浏览器会如何解析它们?](https://github.com/haizlin/fe-interview/issues/598)
- [js延迟加载的方式有哪些?](https://github.com/haizlin/fe-interview/issues/594)
- [请描述你对浏览器同源策略的理解](https://github.com/haizlin/fe-interview/issues/590)
- [举例说明js如何实现继承?](https://github.com/haizlin/fe-interview/issues/586)
- [用js实现一个九九乘法口诀表](https://github.com/haizlin/fe-interview/issues/582)
- [在js中怎么捕获异常?写出来看看?应该在哪些场景下采用呢?](https://github.com/haizlin/fe-interview/issues/578)
- [举例说明什么是decodeURI()和encodeURI()是什么?](https://github.com/haizlin/fe-interview/issues/574)
- [举例说明什么是IIFEs?它有什么好处?](https://github.com/haizlin/fe-interview/issues/570)
- [举例说明数组和对象的迭代方法分别有哪些?](https://github.com/haizlin/fe-interview/issues/564)
- [请快速答出此题的答案并解释:var x, y = 1; x + y = ?](https://github.com/haizlin/fe-interview/issues/532)
- [说说instanceof和typeof的实现原理并自己模拟实现一个instanceof](https://github.com/haizlin/fe-interview/issues/528)
- [js中=、==、===三个的区别是什么?并说明它们各自的工作过程](https://github.com/haizlin/fe-interview/issues/523)
- [写一个方法随机生成指定位数的字符串](https://github.com/haizlin/fe-interview/issues/519)
- [移动端点击事件为什么会有延迟?有哪些方法可以解决?](https://github.com/haizlin/fe-interview/issues/515)
- [写一个字符串重复的repeat函数](https://github.com/haizlin/fe-interview/issues/511)
- [说说你对深浅拷贝的理解?并实现一个对数组和对象深拷贝的方法](https://github.com/haizlin/fe-interview/issues/504)
- [Ajax请求中get和post方式有什么区别呢?分别在哪些场景下使用?](https://github.com/haizlin/fe-interview/issues/500)
- [说说你对base64的理解,它的使用场景有哪些?](https://github.com/haizlin/fe-interview/issues/496)
- [formData主要是用来做什么的?它的操作方法有哪些?](https://github.com/haizlin/fe-interview/issues/492)
- [举例子说说你对js隐式类型转换的理解](https://github.com/haizlin/fe-interview/issues/409)
- [请解释下什么是cookie隔离?为什么要隔离?如何隔离?](https://github.com/haizlin/fe-interview/issues/405)
- [说说你对数据类型转换的理解是什么?类型转换的方法有哪些?](https://github.com/haizlin/fe-interview/issues/298)
- [如何让(a==1 && a==2 && a==3)的值为true,把"=="换成"==="后还能为true吗?](https://github.com/haizlin/fe-interview/issues/295)
- [举例子说明javascript的变量声明提升和函数声明提升](https://github.com/haizlin/fe-interview/issues/281)
- [有用过HTML5的WebWork吗?它主要解决了什么问题?](https://github.com/haizlin/fe-interview/issues/277)
- [写一个方法获取图片的原始宽高](https://github.com/haizlin/fe-interview/issues/256)
- [请实现一个flattenDeep函数,把多维数组扁平化](https://github.com/haizlin/fe-interview/issues/252)
- [写一个格式化金额的方法](https://github.com/haizlin/fe-interview/issues/246)
- [请说下你对__proto__和prototype的理解](https://github.com/haizlin/fe-interview/issues/242)
- [写一个方法,使得sum(x)(y)和sum(x,y)返回的结果相同](https://github.com/haizlin/fe-interview/issues/238)
- [JSONP的原理是什么?解决什么问题?](https://github.com/haizlin/fe-interview/issues/221)
- [写出4个使用this的典型例子](https://github.com/haizlin/fe-interview/issues/217)
- [写一个函数找出给定数组中的最大差值](https://github.com/haizlin/fe-interview/issues/209)
- [document的load 和ready有什么区别?](https://github.com/haizlin/fe-interview/issues/209)
- [什么是事件委托?它有什么好处?能简单的写一个例子吗?](https://github.com/haizlin/fe-interview/issues/204)
- [字符串相连有哪些方式?哪种最好?为什么?](https://github.com/haizlin/fe-interview/issues/200)
- [请写出一个函数求出N的阶乘(即N!)](https://github.com/haizlin/fe-interview/issues/191)
- [写个还剩下多少天过年的倒计时](https://github.com/haizlin/fe-interview/issues/187)
- [你对事件循环有了解吗?说说看!](https://github.com/haizlin/fe-interview/issues/183)
- [请说说你对事件冒泡机制的理解?](https://github.com/haizlin/fe-interview/issues/179)
- [写一个使两个整数进行交换的方法(不能使用临时变量)](https://github.com/haizlin/fe-interview/issues/175)
- [写出几种创建对象的方式,并说说他们的区别是什么?](https://github.com/haizlin/fe-interview/issues/171)
- [深度克隆对象的方法有哪些,并把你认为最好的写出来](https://github.com/haizlin/fe-interview/issues/167)
- [JQuery的源码看过吗?能不能简单概括一下它的实现原理?](https://github.com/haizlin/fe-interview/issues/163)
- [window对象和document对象有什么区别?](https://github.com/haizlin/fe-interview/issues/157)
- [说说你对IIFE的理解](https://github.com/haizlin/fe-interview/issues/154)
- [为什么会有跨域问题?怎么解决跨域?](https://github.com/haizlin/fe-interview/issues/150)
- [说说你对模块化的理解](https://github.com/haizlin/fe-interview/issues/146)
- [说说你对eval的理解](https://github.com/haizlin/fe-interview/issues/142)
- [找到字符串中最长的单词,并返回它的长度](https://github.com/haizlin/fe-interview/issues/138)
- [请手写一个幻灯片的效果](https://github.com/haizlin/fe-interview/issues/134)
- [请你解释一个为什么10.toFixed(10)会报错?](https://github.com/haizlin/fe-interview/issues/130)
- [请用canvas写一个关于520浪漫表白的代码](https://github.com/haizlin/fe-interview/issues/124)
- [说说你对this的理解](https://github.com/haizlin/fe-interview/issues/120)
- [造成内存泄漏的操作有哪些?](https://github.com/haizlin/fe-interview/issues/116)
- [写一个方法把0和1互转(0置1,1置0)](https://github.com/haizlin/fe-interview/issues/112)
- [写一个方法判断字符串是否为回文字符串](https://github.com/haizlin/fe-interview/issues/108)
- [写一个获取数组的最大值、最小值的方法](https://github.com/haizlin/fe-interview/issues/104)
- [解释下这段代码的意思!](https://github.com/haizlin/fe-interview/issues/100)
- [说说你对arguments的理解,它是数组吗?](https://github.com/haizlin/fe-interview/issues/96)
- [说说bind、call、apply的区别?并手写实现一个bind的方法](https://github.com/haizlin/fe-interview/issues/92)
- [写一个判断设备来源的方法](https://github.com/haizlin/fe-interview/issues/88)
- [如何快速让一个数组乱序,写出来](https://github.com/haizlin/fe-interview/issues/84)
- [0.1 + 0.2、0.1 + 0.3和0.1 * 0.2分别等于多少?并解释下为什么?](https://github.com/haizlin/fe-interview/issues/80)
- [你对new操作符的理解是什么?手动实现一个new方法](https://github.com/haizlin/fe-interview/issues/76)
- [写一个方法验证是否为中文](https://github.com/haizlin/fe-interview/issues/72)
- [写一个验证身份证号的方法](https://github.com/haizlin/fe-interview/issues/68)
- ["attribute"和"property"有什么不同?](https://github.com/haizlin/fe-interview/issues/64)
- [你理解的"use strict";是什么?使用它有什么优缺点?](https://github.com/haizlin/fe-interview/issues/60)
- [typeof('abc')和typeof 'abc'都是string, 那么typeof是操作符还是函数?](https://github.com/haizlin/fe-interview/issues/56)
- [返回到顶部的方法有哪些?把其中一个方法出来](https://github.com/haizlin/fe-interview/issues/52)
- [写一个数组去重的方法(支持多维数组)](https://github.com/haizlin/fe-interview/issues/48)
- [什么是闭包?优缺点分别是什么?](https://github.com/haizlin/fe-interview/issues/44)
- [说说你对javascript的作用域的理解](https://github.com/haizlin/fe-interview/issues/40)
- [写一个获取当前url查询字符串中的参数的方法](https://github.com/haizlin/fe-interview/issues/36)
- [简要描述下JS有哪些内置的对象](https://github.com/haizlin/fe-interview/issues/33)
- [简要描述下什么是回调函数并写一个例子出来](https://github.com/haizlin/fe-interview/issues/30)
- [写一个判断数据类型的方法](https://github.com/haizlin/fe-interview/issues/27)
- [写一个加密字符串的方法](https://github.com/haizhilin2013/interview/issues/24)
- [统计某一字符或字符串在另一个字符串中出现的次数](https://github.com/haizhilin2013/interview/issues/21)
- [写一个去除制表符和换行符的方法](https://github.com/haizhilin2013/interview/issues/18)
- [写一个把字符串大小写切换的方法](https://github.com/haizhilin2013/interview/issues/15)
- [写一个方法把下划线命名转成大驼峰命名](https://github.com/haizhilin2013/interview/issues/12)
- [去除字符串中最后一个指定的字符](https://github.com/haizhilin2013/interview/issues/9)
- [写一个方法去掉字符串中的空格](https://github.com/haizhilin2013/interview/issues/6)
- [用递归算法实现,数组长度为5且元素的随机数在2-32间不重复的值](https://github.com/haizhilin2013/interview/issues/3)