1
Mark24 OP JavaScript引擎在行末自动添加分号的机制,产生的坑
如果你想的是这样子的代码: function foo() { return { name: 'foo' }; } 如果你不小心,多了换行了,像这样 或者这就是你心目中的“多行代码”的样子 function foo() { return { name: 'foo' }; } 其实会变成: function foo() { return; { name: 'foo' }; } 正确的姿势是: function foo() { return { // 这里不会自动加分号,因为{表示语句尚未结束 name: 'foo' }; } |
2
RoshanWu Jul 31, 2015 |
3
pelloz Jul 31, 2015
数值精度不够,服务器返回的long类型的id会丢失精度,导致错误。最好直接使用String类型传数据。
|
4
ychongsaytc Jul 31, 2015
Date
|
6
thinkmore Jul 31, 2015
**@RoshanWu** thanks
|
7
learnshare Jul 31, 2015
|
8
est Jul 31, 2015
|
9
sumhat Jul 31, 2015
for 循环中的 closure 有问题,比如:
for (var i in elements) { var element = elements[i]; doSomething(element, function() { console.log(element.name); } } log 出来永远是最后一个。 |
11
mouhong Jul 31, 2015
@sumhat 这其实不能算 Closure 的坑,是 JavaScript 早期版本没有块级作用域的坑,如果用 strict mode 里的 let element = elements[i],就不会有这个问题。
|
12
forest520 Jul 31, 2015
nodejs的parseInt("000300"),猜猜结果是什么?
|
13
kenshinhu Jul 31, 2015
还有值拷贝的坑
|
14
morethansean Jul 31, 2015
@sumhat 这不是问题吧……这不是 feature 么……
|
15
bramblex Jul 31, 2015
各种坑……以及各种坑我自己造的工具……
https://github.com/bramblex/BlxJSTK |
16
civet Jul 31, 2015
['10', '10', '10'].map(parseInt)
|
17
neetrorschach Jul 31, 2015
好像js的正则不支持零宽断言
|
19
ChefIsAwesome Jul 31, 2015 via Android
(Num).toFixed(n) 居然返回的是字符串
|
20
zhea55 Jul 31, 2015
|
21
bramblex Jul 31, 2015
@neetrorschach 也不支持命名分组
|
23
sneezry Jul 31, 2015 via iPhone
0.1+0.2==0.3
|
25
dong3580 Jul 31, 2015
@ChefIsAwesome
这个是大坑啊。。。计算精度问题, |
26
MntCw Jul 31, 2015 如果了解javascript解析/编译原理,就不会有这些问题。原理读得太少,上手就是操作,等发现问题了就把这些归类为坑。
|
27
dant Jul 31, 2015
[1,2,3].map(parseInt) //=> [ 1, NaN, NaN ]
[1,2,3].map(function(x){return parseInt(x);}) //=> [ 1, 2, 3 ] |
28
kenshinhu Aug 1, 2015
@zonghua 我记得有下在搞monngoose 时,返回的结果是Document类型,直接赋值一个变量时,再修改里的的元素是失效的,这个算是 值拷贝的问题吗?
|
29
GuangXiN Aug 1, 2015 @sneezry 0.1+0.2==0.3返回false不是js独有的坑呀,这是二进制无法精确表示小数导致的,C语言也有这个坑,PHP也有,Python也存在。
|
30
dcoder Aug 1, 2015
<a href="http://stackoverflow.com/questions/4886632/what-does-var-that-this-mean-in-javascript">this that ... </a>
|
33
oscarzhao Aug 1, 2015
拷贝对象时,JSON.parse(JSON.stringify(obj))比较蛋疼
JSON.stringify 用在 map上面会输出为 [], 直接打印能显示出来 |
35
Mark24 OP JavaScript排序坑
会把数字先转换为字符串,再用字符串去排序 …… 反人类 |
36
Mark24 OP 补充楼上,高清图片url:"
"具体描述 廖雪峰JavaScript教程,sort篇 http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014351226817991a9c08f1ec0a45c99b9209bcfc71b8f6000 |
37
mingyun Sep 4, 2015
Json.stringify ()会默认忽略 undefined 的 key
|