2010-07-13 86 views
0

Javascript的版本,我已經從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> 

下面的腳本,但不知道是否有一個較短的方法嗎?

回答

5

看着你@meder提出的意見,我會強烈建議你去特徵檢測,例如,以檢測是否該indexOf方法可以用Array對象:

if (typeof Array.prototype.indexOf == 'function') { 
    //... 
} 

JavaScript TM版本號參考ECMAScript標準的Mozilla實現

在早年,當language屬性被廣泛使用時,例如,您可以指定"JavaScript1.2"來放置爲ECMAScript 2編寫的代碼,但現在我不推薦您使用這種方法。

你可能要指定一個的JavaScript(TM)版本的唯一原因,是因爲你真的需要使用Mozilla的特定擴展for examplelet關鍵字,發電機,迭代器,表達關閉,等..

參見:

0

您不應該使用language屬性,它是老式學校,並且在當今時代並不真正相關。另外,對於跨瀏覽器的Javascript版本沒有標準。更不用說不同的瀏覽器有不一致的Javascript版本。

+0

一樣,可以說明爲什麼函數如[1,3,5] .indexOf(3)不支持IE ...需要Javascript 1.6,IE支持什麼,只是爲了瞭解事情,就像大多數人喜歡 – 2010-07-13 22:43:53

+2

這不是一個真正的答案...如果你把你放下的東西放在這裏其他人看對於未解答的問題可能會忽略這個問題。 – 2010-07-13 22:46:29

2

在現實世界中,Javascript沒有有意義的版本號,特別是在IE中。

這是不可能的。

+0

請記住,JavaScript(TM)!= JScript – CMS 2010-07-13 22:57:18

相關問題