У меня полная потеря.
У меня есть функция.
Number.prototype.abs = function () {
return this >= 0 ? this : this * -1;
};
.., который возвращает абсолютное значение числа.
(50).abs(); // 50
(-50).abs(); // 50
.. но это не сравнится правильно.
(50).abs() === 50; // False
.. иногда.
(50).abs() == 50; // True
(-50).abs() === 50; // True
Дело в том, что он работает в Chrome 12 и Firefox 4, но не в IE 9, Safari 5 или Opera 11.
Я не вижу ничего плохого в коде, и поскольку он работает в Chrome и Firefox, это что-то конкретное для браузера, но я не знаю что.
Обновление: Разница между браузером и поддержкой строгого режима. Я запускаю свой код в строгом режиме, который вводит некоторые изменения, которые заставляют работать мой код. Причина, по которой она не удалась в браузерах, которые она сделала, заключается в том, что они имеют неполный или отсутствующий строгий режим.
Почему он возвращает false?