获取js执行环境的版本说明
Get version description of js execution environment
我 运行 javascript 在 Windows 脚本宿主中,因此不涉及浏览器。
如何从脚本中识别其执行环境 WSH 支持的 JavaScript 版本?对于那些不熟悉 WSH 的人来说,它需要一个 "raw" JavaScript 脚本作为输入,即一个没有周围 <script>
标签的脚本,就像 HTML 嵌入的脚本一样。 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);
代码为我提供了输出:
WScript.Version = 5.8
WScript.BuildVersion = 18283
ScriptEngineMajorVersion = 5
ScriptEngineMinorVersion = 8
ScriptEngineBuildVersion = 18231
C:\Windows\System32\WScript.exe version = 5.8.7601.18283
重点是您可以通过这种方式检索 WSH 版本(尽管我不知道 WScript.BuildVersion
和 ScriptEngineBuildVersion
的区别)。
有 WSH 版本 1.0、2.0(也称为 5.1)、5.6、5.7、5.8 和 5.812 by the link. Сonsidering JScript version is the same as WSH (except JScript 5.1 is for WSH 2.0, and perhaps - I haven't found any proof - JScript 9.0 is for WSH 5.812, since JScript 9.0 introduced with IE 9 and later WSH 5.812 with Windows 10). You can find JavaScript and JScript versions correspondence by the link 1 and link 2。
基于此我假设以下兼容性:
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 在 Windows 脚本宿主中,因此不涉及浏览器。
如何从脚本中识别其执行环境 WSH 支持的 JavaScript 版本?对于那些不熟悉 WSH 的人来说,它需要一个 "raw" JavaScript 脚本作为输入,即一个没有周围 <script>
标签的脚本,就像 HTML 嵌入的脚本一样。 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);
代码为我提供了输出:
WScript.Version = 5.8
WScript.BuildVersion = 18283
ScriptEngineMajorVersion = 5
ScriptEngineMinorVersion = 8
ScriptEngineBuildVersion = 18231
C:\Windows\System32\WScript.exe version = 5.8.7601.18283
重点是您可以通过这种方式检索 WSH 版本(尽管我不知道 WScript.BuildVersion
和 ScriptEngineBuildVersion
的区别)。
有 WSH 版本 1.0、2.0(也称为 5.1)、5.6、5.7、5.8 和 5.812 by the link. Сonsidering JScript version is the same as WSH (except JScript 5.1 is for WSH 2.0, and perhaps - I haven't found any proof - JScript 9.0 is for WSH 5.812, since JScript 9.0 introduced with IE 9 and later WSH 5.812 with Windows 10). You can find JavaScript and JScript versions correspondence by the link 1 and link 2。
基于此我假设以下兼容性:
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)