我被分配调试一个旧的 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++;
}
}
最佳答案
它是浏览器使用的 JavaScript 引擎:Chrome、Chromium 和 Opera 中的 V8;火狐浏览器中的蜘蛛猴; IE8 中的 JScript;以及 IE9+ 和 Edge 中的 Chakra(IE9+ 中的 Chakra 版本已经过时;Edge 的版本相当最新)。
关于javascript - 什么决定了可用的 ECMAScript 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53720000/