Мне было поручено отладить старый сайт 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++;
}
}