[收集贴] 晒晒你知道的 JavaScript 的那些坑……

2015-07-31 14:53:30 +08:00
 Mark24
4681 次点击
所在节点    JavaScript
37 条回复
bramblex
2015-07-31 19:08:24 +08:00
@neetrorschach 也不支持命名分组
bramblex
2015-07-31 19:12:21 +08:00
@civet

你不知道parseInt有第二个参数,以及map会给callback三个参数,那一定会坑 /w\
sneezry
2015-07-31 20:00:22 +08:00
0.1+0.2==0.3
sneezry
2015-07-31 20:01:17 +08:00
@forest520 8进制的?
dong3580
2015-07-31 21:27:58 +08:00
@ChefIsAwesome
这个是大坑啊。。。计算精度问题,
MntCw
2015-07-31 22:13:15 +08:00
如果了解javascript解析/编译原理,就不会有这些问题。原理读得太少,上手就是操作,等发现问题了就把这些归类为坑。
dant
2015-07-31 22:25:30 +08:00
[1,2,3].map(parseInt) //=> [ 1, NaN, NaN ]

[1,2,3].map(function(x){return parseInt(x);}) //=> [ 1, 2, 3 ]
kenshinhu
2015-08-01 01:12:16 +08:00
@zonghua 我记得有下在搞monngoose 时,返回的结果是Document类型,直接赋值一个变量时,再修改里的的元素是失效的,这个算是 值拷贝的问题吗?
GuangXiN
2015-08-01 01:30:40 +08:00
@sneezry 0.1+0.2==0.3返回false不是js独有的坑呀,这是二进制无法精确表示小数导致的,C语言也有这个坑,PHP也有,Python也存在。
dcoder
2015-08-01 02:17:38 +08:00
sneezry
2015-08-01 08:33:10 +08:00
@GuangXiN 原来如此!
zonghua
2015-08-01 09:36:24 +08:00
@GuangXiN 浮点器是什么原理都要深究很久吧,计算机发展也就酱紫了。
oscarzhao
2015-08-01 14:35:17 +08:00
拷贝对象时,JSON.parse(JSON.stringify(obj))比较蛋疼
JSON.stringify 用在 map上面会输出为 [], 直接打印能显示出来
civet
2015-08-03 09:52:07 +08:00
@bramblex 不说还真不知道。现在这就是讨论“坑”,我这个是从某个国外的演讲里面看过的
Mark24
2015-08-10 13:05:22 +08:00
JavaScript排序坑
会把数字先转换为字符串,再用字符串去排序
……
反人类
Mark24
2015-08-10 13:06:32 +08:00
mingyun
2015-09-04 23:40:59 +08:00
Json.stringify ()会默认忽略 undefined 的 key

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/209865

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX