如何检测 ECMAscript 版本?
How to detect ECMAscript version?
我想看看我在浏览器中使用的 ECMAscript 版本(例如,chrome 59),因为在处理 RegExp 内容时 ECMAscript3 和 ECMAscript5 之间存在一些差异。
我找到了这方面的相关资料,但是我找不到关于如何检测ECMAscript版本的具体答案。
先谢谢了。
我认为这是不可能的,因为浏览器通常不会同时实现 ECMAScript 版本的所有功能。这就是为什么我们有像 Modernizr and websites like Can I use ... 这样的库来找出可以使用哪些功能。
您仍然可以构建一个小测试来确定 RegEx 在用户浏览器版本中的行为方式。
也许你可以尝试使用一些在 ES6
中专门添加的数据结构,如 Map
、Set
等。这是为了区分 ES5
和ES6
但您可以查找 ES5
中添加的功能,而在您的情况下 ES3
中不存在这些功能?
try {
var k = new Map();
console.log("ES6 supported!!")
} catch(err) {
console.log("ES6 not supported :(")
}
try {
var k = new HashMap();
console.log("ES100 supported!!")
} catch(err) {
console.log("ES100 not supported :(")
}
ECMAScript 是行业标准:
ECMAScript is a trademarked scripting-language specification
standardized by Ecma International in ECMA-262 and ISO/IEC 16262. It
was created to standardize JavaScript, so as to foster multiple
independent implementations.
Javascript是比较流行的实现方式,大致是:
JavaScript has remained the best-known
implementation of ECMAScript since the standard was first published,
with other well-known implementations including JScript and
ActionScript. wikipedia
考虑到 JavaScript 各种浏览器、node.js 等实现的当前状态,没有人专门对自己进行版本控制,而是不断发展新功能。因此,最好的方法是检测(可能使用第 3 方库)是否存在所需的功能然后使用。否则退回到更传统的。一般都是先尝试一些操作,然后检查是否符合预期,没有魔法。
ECMAScript 在每个版本上支持不同的对象。要检测 ECMAScript 版本,我们可以检查对象是否退出浏览器。如果识别出该对象,则表示浏览器支持 ECMA 版本。
检查以下link 有一个很好的例子来检测 ECMAScript 版本。
https://www.devdiscuss.com/how-to-detect-the-ecmascript-version/
我想看看我在浏览器中使用的 ECMAscript 版本(例如,chrome 59),因为在处理 RegExp 内容时 ECMAscript3 和 ECMAscript5 之间存在一些差异。
我找到了这方面的相关资料,但是我找不到关于如何检测ECMAscript版本的具体答案。
先谢谢了。
我认为这是不可能的,因为浏览器通常不会同时实现 ECMAScript 版本的所有功能。这就是为什么我们有像 Modernizr and websites like Can I use ... 这样的库来找出可以使用哪些功能。
您仍然可以构建一个小测试来确定 RegEx 在用户浏览器版本中的行为方式。
也许你可以尝试使用一些在 ES6
中专门添加的数据结构,如 Map
、Set
等。这是为了区分 ES5
和ES6
但您可以查找 ES5
中添加的功能,而在您的情况下 ES3
中不存在这些功能?
try {
var k = new Map();
console.log("ES6 supported!!")
} catch(err) {
console.log("ES6 not supported :(")
}
try {
var k = new HashMap();
console.log("ES100 supported!!")
} catch(err) {
console.log("ES100 not supported :(")
}
ECMAScript 是行业标准:
ECMAScript is a trademarked scripting-language specification standardized by Ecma International in ECMA-262 and ISO/IEC 16262. It was created to standardize JavaScript, so as to foster multiple independent implementations.
Javascript是比较流行的实现方式,大致是:
JavaScript has remained the best-known implementation of ECMAScript since the standard was first published, with other well-known implementations including JScript and ActionScript. wikipedia
考虑到 JavaScript 各种浏览器、node.js 等实现的当前状态,没有人专门对自己进行版本控制,而是不断发展新功能。因此,最好的方法是检测(可能使用第 3 方库)是否存在所需的功能然后使用。否则退回到更传统的。一般都是先尝试一些操作,然后检查是否符合预期,没有魔法。
ECMAScript 在每个版本上支持不同的对象。要检测 ECMAScript 版本,我们可以检查对象是否退出浏览器。如果识别出该对象,则表示浏览器支持 ECMA 版本。
检查以下link 有一个很好的例子来检测 ECMAScript 版本。
https://www.devdiscuss.com/how-to-detect-the-ecmascript-version/