我在Windows脚本宿主中运行javascript,因此不涉及浏览器。
如何从脚本中确定执行环境WSH支持的JavaScript版本?对于不熟悉WSH的人来说,它以“原始” JavaScript脚本作为输入,即没有嵌入HTML嵌入脚本的<script>
标记的JavaScript脚本。 Afaik WSH将脚本直接传递到其注册的javascript引擎(JScript.Dll)进行执行,根本不涉及任何浏览器。
谷歌搜索似乎只是打开了以脚本正在浏览器中执行为前提的方法,而在WSH中执行的脚本则不是这样。
最佳答案
在以下示例中查看一些WSH内置属性:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = '';
s = s + 'WScript.Version = ' + WScript.Version + '\n';
s = s + 'WScript.BuildVersion = ' + WScript.BuildVersion + '\n';
s = s + 'ScriptEngineMajorVersion = ' + ScriptEngineMajorVersion() + '\n';
s = s + 'ScriptEngineMinorVersion = ' + ScriptEngineMinorVersion() + '\n';
s = s + 'ScriptEngineBuildVersion = ' + ScriptEngineBuildVersion() + '\n';
s = s + WScript.FullName + ' version = ' + fso.GetFileVersion(WScript.FullName) + '\n';
WScript.Echo(s);
该代码为我提供了输出:
关键是您可以通过这种方式检索WSH版本(尽管我不了解
WScript.BuildVersion
和ScriptEngineBuildVersion
的区别)。有WSH版本1.0、2.0(也称为5.1),5.6、5.7、5.8和5.812 by the link。 СonsideringJScript版本与WSH相同(除了JScript 5.1用于WSH 2.0,也许-我没有找到任何证据-JScript 9.0用于WSH 5.812,因为JScript 9.0是IE 9引入的,而后来的WSH 5.812是Windows 10引入的) 。您可以通过link 1和link 2找到 JavaScript 和 JScript 版本对应关系。
基于此,我认为以下兼容性:
WSH JavaScript
1.0 1.0
2.0 1.4
5.5-5.8 1.5
5.812 1.8.1 (needs to be checked)
关于javascript - 获取js执行环境的版本描述,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36520386/