对 stackoverflow 上 前端 相关(主要是JS,浏览器,框架,性能等)投票数较多且比较有意义的问题进行整理翻译! 欢迎 star ~ 为了让 翻译 更有意义,给阅读者带来更有效的收获,会做一些额外加工: 例如,删除过时问题、问题分类、聚合答案、删除冗余内容、加上自己的验证结果、心得等等 由于筛选机制原因,票数最多的问题,一般提问时间也比较久远,对于一些已经明显过时的问题,不在进行翻译 一些有意义的经典问题,仍然进行翻译,大家也可以对此做个历史参考,但是随着ECMA标准的迭代,答案可能不一定准确了 ~ PS: 个人能力有限,也欢迎大家提PR帮我改进或者一起翻译。 基础
- “use strict” 在 JavaScript 中做了什么,背后的原因是什么?
- JavaScript 闭包是如何工作的?
- sleep() 的 JavaScript 版本是什么?
- 如何测试一个空的 JavaScript 对象?
- 检查 JavaScript 对象中是否存在某个键?
- 在 JavaScript 中循环遍历数组
- 在 JavaScript 中循环枚举对象
- 为什么不能使用 “for...in” 进行数组迭代?
- 怎么理解 JavaScript 中的 new ?
- 在 JavaScript 中如何检测 "invalid date" 日期?
- 在 JavaScript 中如何将十进制转换为十六进制?
- 如何创建一个 [1,2,3,4,N...] 的数组?
- todo ...
进阶
- 在 JavaScript 中如使字符串的第一个字母大写(含国际化方案讨论)?
- Javascript 在哪里为函数调用的结果分配内存?堆栈还是堆?
- 什么时候应该使用encodeURI,而不是encodeURIComponent?
- todo ...
Typescript
- todo ...
虽然经过了一番筛选后,上述很多问题,现在可能看起来仍然比较过时,解答也没有一些现成的前端面试答案的资料看起来更爽更舒服。
但是在整理翻译的过程中,还是会有一些让人觉得 “原来还能这样” 的深刻体会
这些问题之所以之所以专注度比较高,除了问题比较经典,时间久远积累的原因之外,更多的是因为很多答疑者们,在提供解决方案的同时,还能集思广益,引发更多角度的思考:
- 比如会提供多个解决方案,并且把这些解决方案的优缺点,进行一一比较:在 JavaScript 中循环遍历数组
- 比如针对 "老生常谈" 的问题,进行深度思考: 在 JavaScript 中如使字符串的第一个字母大写(含国际化方案讨论)?
- 还有一些可能目前热度不高,但是却令人茅塞顿开:有些知识,传了百遍,千遍,就是正确的么?Javascript 在哪里为函数调用的结果分配内存?堆栈还是堆?
总之言而,就是在解决问题的同时,还能够引导大家对问题的背后原因多一些思考~