Я попробовал следующий код в браузере Blackberry OS7:
<html>
<body>
test page
<script>
i = 0;
if(i < -2147483647) {
alert("very low")
}
if(i < -2147483648) {
alert("very very low")
}
if(i < -2147483649) {
alert("very very very low")
}
</script></body></html>
И на удивление получилось очень-очень низко!!
Я думал, что целые числа в javascript должны поддерживать больше, чем это. Конечно, этот код хорошо работает в других браузерах...
Сложность в том, что я обнаружил, что пытаюсь запустить gwt-приложение на BlackBerry. Он работал нормально на OS6, но не на OS7. Я отлаживал свой код, скомпилированный GWT, и случилось так, что реализация javascript Integer.parseInt имеет тест, использующий экстремально высокий и экстремально низкий уровень int. Поскольку браузер OS7, похоже, не поддерживает эти экстремальные значения должным образом (переполнение битов?), Я получаю исключение, и мое приложение не запускается...
Я пытаюсь найти решение для этого. Я думаю о переписывании реализации GWT integer.parseInt только для ежевики. Как вы думаете? Любые другие идеи?