Белая рысь
Золотой пользователь
Зарегистрирован: 06.10.2012
Сообщений: 1022
Сообщение от Равенство parseInt("042") === 42 (как и другие ему подобные) станет верным в Firefox следующей версии (Firefox 21) и в более новых, хотя прежде Firefox действовал по образу и подобию языка Си, считая восьмеричными числа, запись которых начиналася нулём — так что вызов parseInt("042") давал тогда значение 34.

Вебкиты, совместимость... "И эти люди запрещают нам ковыряться в носу"©
Ещё одно доказательство того, что один и тот же движок в разных браузерах совсем не обозначает одинакового поведения.
Интересно, как должен выглядеть в данном случае костыль для браузеров FF 20-. =))

UPD: И ещё один вопрос вдогонку: как думаете, через какое количество времени "открытые и свободные" научатся писать parseInt("42", 8) вместо parseInt("042") =))
Источник | Теги: WebKit , FireFox  
Последнее изменение: Белая рысь, 29.04.2013 8:34

Комментарии5

# 0

MOP3E
Золотой пользователь
Зарегистрирован: 11.01.2013
Сообщений: 823
Ага, совместимость по-жопенсорсному.

# 0

ga.al
Новичок
Зарегистрирован: 20.02.2013
Сообщений: 99
(Высасываете темы из пальца. Эх.)

Во-первых Gecko.

Во-вторых C/C++ примерно одинаков во всех OS.

В-третьих это был стандарт.

http://www.w3schools.com/jsref/jsref_parseint.asp

parseInt(string, radix)

If the string begins with "0x", the radix is 16 (hexadecimal)
if the string begins with "0", the radix is 8 (octal). This feature is deprecated
If the string begins with any other value, the radix is 10 (decimal)
...

# 0

ga.al
Новичок
Зарегистрирован: 20.02.2013
Сообщений: 99
Обсуждение в мозилловской багзилле показывает, что перемена эта произошла под влиянием ECMAScript 5 и соответствует изменениям, случившимся в других браузерах (Safari 6, Google Chrome 23 и др.), в движке V8 (и в основанном на нём Node.js, например), так что в этом году Firefox оставался последним оплотом восьмеричности.

http://habrahabr.ru/post/178271/

# 0

Белая рысь
Золотой пользователь
Зарегистрирован: 06.10.2012
Сообщений: 1022
ga.al, Вы хорошо понимаете, что вот этой:

Сообщение от что в этом году Firefox оставался последним оплотом восьмеричности.

фразой Вы только что показали, что FF, в отличие от остальных браузеров, до недавнего момента шёл в ногу Какие после этого могут быть наезды на IE за несоблюдение стандартов
-- God is real, unless explicitly declared as integer.

# 0

ga.al
Новичок
Зарегистрирован: 20.02.2013
Сообщений: 99
Белая рысь И O_o Это был стандарт. Deprecated могут убрать прямо сейчас, а могут и позже, когда предупрежденные разработчики перепишут код :D

К примеру. В тех Java/C# .Net также хватает deprecated methods. Использовать их можно, но никто не дает гарантии, что заработает в следующей версии.

Лично мне не понятно из-за чего вообще был раздут данный topic.