- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
var pz = 1/Infinity;
var mz = -1/Infinity;
// неотличимы
pz == mz; // true
pz === mz; // true
mz < pz; // false
pz < mz; // false
// но
Math.min(pz, mz); // -0
Math.max(pz, mz); // 0
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+159
var pz = 1/Infinity;
var mz = -1/Infinity;
// неотличимы
pz == mz; // true
pz === mz; // true
mz < pz; // false
pz < mz; // false
// но
Math.min(pz, mz); // -0
Math.max(pz, mz); // 0
Так как же отличить -0 от +0?
(-1.0 / mz) == Infinity?
bormand 11.06.2014 21:43 # +4
Abbath 12.06.2014 03:13 # 0
kegdan 12.06.2014 04:49 # 0
1024-- 11.06.2014 21:56 # 0
Тормозит.
Можно было и var mz = -0.
http://jsperf.com/zeros В хроме -0 чуть-чуть быстрее.
volter9 11.06.2014 22:04 # 0
zloirock 11.06.2014 23:20 # +2