我有来自http://javascript.about.com/library/bljver.htm
的以下脚本<script type="text/javascript">
var jsver = 1.0;
</script>
<script language="Javascript1.1">
jsver = 1.1;
</script>
<script language="Javascript1.2">
jsver = 1.2;
</script>
<script language="Javascript1.3">
jsver = 1.3;
</script>
<script language="Javascript1.4">
jsver = 1.4;
</script>
<script language="Javascript1.5">
jsver = 1.5;
</script>
<script language="Javascript1.6">
jsver = 1.6;
</script>
<script type="text/javascript">
document.write('<p><b>Javascript version ' + jsver + ' supported<\/b><\/p>');
</script>
但是想知道是否有更短的路?
答案 0 :(得分:5)
查看您对@meder所做的评论,我强烈建议您进行功能检测,例如检测indexOf
方法是否可用数组对象:
if (typeof Array.prototype.indexOf == 'function') {
//...
}
JavaScript(TM)版本号是指ECMAScript标准的 Mozilla实现。
在早期,当language
属性被广泛使用时,您可以指定"JavaScript1.2"
来放置为ECMAScript 2编写的代码,但我现在不建议您采用这种方法
您可能想要指定 JavaScript(TM)版本的唯一原因是因为您确实需要使用特定于Mozilla的扩展程序,for example let
关键字,生成器,迭代器,表达式闭包等......
另见:
答案 1 :(得分:2)
在现实世界中,Javascript没有有意义的版本号,尤其是在IE中。
这实际上是不可能的。
答案 2 :(得分:2)
Javascript实际上没有不同的版本号,即使它确实存在,版本也不是特别有用。最好的方法是进行特征检测。有几个项目和库使用Array.indexOf,Object.keys,addEventListener等功能扩展本机类型。如http://devpro.it/JSL/和https://code.google.com/p/ddr-ecma5/
答案 3 :(得分:0)
你不应该使用language
属性,它是oldschool,并且在这个时代并没有真正相关。此外,没有标准用于中继Javascript跨浏览器的版本。更不用说不同的浏览器有不一致的Javascript版本。