От чего зависит доступная версия ECMAScript? - PullRequest
0 голосов
/ 11 декабря 2018

Мне было поручено отладить старый сайт Visual Basics, на котором у нас есть только доступ к JavaScript.

Проблема в том, что повсеместно использовались операторы «With», некоторые даже включали в себя «remove ()».

Это заставило меня задуматься: это браузеры, определяющие доступную версию ECMAScript, или это что-то еще?Потому что, если это браузер, то, я думаю, я могу использовать «let», чтобы решить большинство проблем с областями видимости, которые, я предполагаю, «with» был использован для решения.

Редактировать: пример того, как операторы withиспользуется в коде (контекст для этого можно найти в комментариях):

function firstFunction(input1) {

    var someVariable = document.getElementById('someId');

    var i = someVariable.options.length;

    with (someVariable) {
        options[i] = new Option();
        options[i].text = input1.Name;
        options[i].value = input1.Id + ';' + input1.Type;
        i++;
    }
}

function secondFunction(input2) {

    var someVariable = document.getElementById('someId');

    var i = someVariable.options.length;

    with (someVariable) {
        options[i] = new Option();
        options[i].text = input2.PrettyName;
        options[i].value = input2.Name;
        i++;
    }
}

1 Ответ

0 голосов
/ 11 декабря 2018

Это движок JavaScript, используемый браузером: V8 в Chrome, Chromium и Opera;SpiderMonkey в Firefox;JScript в IE8;и Chakra в IE9 + и Edge (версия Chakra в IE9 + очень устарела; Edge довольно современна).

...