2011-06-13 20 views
5

目前我沒有使用原型,因爲我記得有一天我讀過一篇文章,其中聲明Prototype在IE 7中並不支持,但下面我找不到那篇文章,但順便說一下知道它是如何得到整體支持是很好的。Javascript:哪個瀏覽器支持原型繼承?

+0

我更新了您的標題並進行編輯以更好地反映您所問的內容。 – 2011-06-13 15:55:11

+0

謝謝!我認爲這是一個恥辱,一個Javascript庫命名爲Javascript的一個非常重要的部分。這真是令人困惑,他們爲什麼不自己調用'Javascript變量'來混淆每個人......我想知道使用prototype.js的人是否知道javascript中的原型是什麼:) – Adam 2011-06-13 15:57:04

回答

11

JScript(微軟對Javascript的解釋)支持自2.0版以來的原型屬性(MSDN)。支持JScript 2.0的第一個Internet Explorer版本是IE 3(MSDN)。

我會說你用IE7安全!


編輯:或許您正在考慮修改主機對象的原型,如Node。這確實不被IE> = 7支持,無論如何這是一個壞主意。 A good article on this is at perfectionkills.com

+0

有趣的文章。謝謝! – 2011-06-13 15:58:08

+0

謝謝這是第一個正常的答案:)是的,我想修改主機對象。嘿文章你發佈的文章是什麼,我失去了:))thx非常多! – Adam 2011-06-13 16:01:25

+0

@CIRK我不得不說,我最初也是把你的問題看作是指的框架!樂意效勞。 – lonesomeday 2011-06-13 16:02:59

0

根據Prototype website,它兼容IE6 +和其他瀏覽器。但是,我很少使用它,所以我無法從經驗談話。

+1

我的意思是真正的Javascript Prototype,而不是框架! – Adam 2011-06-13 15:49:08

2

根據他們的downloads page,原型的當前版本(1.7)與以下瀏覽器兼容:

Browser   Version(s) 
Mozilla Firefox ≥ 1.5 
Microsoft Internet Explorer for Windows ≥ 6.0 
Apple Safari ≥ 2.0.4 
Google Chrome ≥ 1.0 
Opera   ≥ 9.25 

更新

IE7絕對支持原型繼承。

+6

我的意思是真正的Javascript原型,而不是框架! – Adam 2011-06-13 15:49:01

+0

這可能不是您的問題的答案,但這是我問Google讓我來到這裏的問題的答案! – joshuahedlund 2014-12-09 20:42:13

1

如果您的意思是原型庫,則Prototype's download page指出它與IE6及更高版本兼容。

[編輯]

您的問題編輯使問題非常混亂。當你說「真正的Javascript Prototype」時,你是什麼意思?你的意思是Javascript的特性,它允許你爲類添加方法和屬性(例如String.Prototype.trim = function() {...}),然後是,這是該語言的一個基本屬性,並且從一開始就存在,所以是的,它將在IE7中得到支持。

4

屬性.prototype存在於所有JS實現中,否則它不會是Javascript。 ECMA-262 1999年12月:

對象

ECMAScript的不包含 正確的類,如那些在C++, Smalltalk中,或Java,而是 支持其通過執行代碼創建 對象構造函數 爲對象分配存儲空間, 通過 初始化其全部或部分對象,將其初始值分配給它們的 屬性。所有構造函數都是 對象,但不是所有對象都是 構造函數。每個構造函數都有一個 原型屬性,用於 實現基於原型的繼承 和共享屬性。通過使用新的 表達式中的構造函數創建對象 ;例如,新的 字符串(「A String」)會創建一個新的 字符串對象。調用構造函數 而不使用新函數會導致依賴構造函數的後果 。例如,對於 示例,String(「A String」)會生成一個 原始字符串,而不是一個對象。