Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Странный eval (https://javascript.ru/forum/misc/47214-strannyjj-eval.html)

Mel 14.05.2014 13:00

Странный eval
 
Подскажите, как именно воспринимается Javascript'ом такой вот код:
alert (eval ('01010101'))

Если первая цифра — ноль, а вторая от нуля до семи, результатом будет являться некое число, не имеющее отношения к указанному. Например, в приведённом случае это будет 266305.

kobezzza 14.05.2014 13:08

Как число в 8-й системе исчисления

alert(parseInt('01010101', 8) == 01010101);


Но это поведение было убрано в стандарте ECMAScript5 и если запустить выполнение с флагом 'use strict', то получим эксепшен.


(function () {
    'use strict';

    try {
        eval('01010101');
    
    } catch (err) {
        alert(err);
    }
})();

Mel 14.05.2014 13:14

Действительно. Спасибо.


Часовой пояс GMT +3, время: 22:40.