我正在使用Adobe ExtendScript(.jsx),它基本上是舊版ECMAScript 3 JavaScript標準的一個子集。如何將類型化數組monkeypatch到ECMAScript 3 JavaScript中,特別是Uint8Array? (在Adobe ESTK中IDE的必要性)
爲了使用JS ECMAScript 5+編寫的開源開發代碼,我需要實現Typed Arrays(通過Monkeypatching或其他技術),以區分Uint8Array和「常規」數組。
我正在使用Adobe ExtendScript(.jsx),它基本上是舊版ECMAScript 3 JavaScript標準的一個子集。如何將類型化數組monkeypatch到ECMAScript 3 JavaScript中,特別是Uint8Array? (在Adobe ESTK中IDE的必要性)
爲了使用JS ECMAScript 5+編寫的開源開發代碼,我需要實現Typed Arrays(通過Monkeypatching或其他技術),以區分Uint8Array和「常規」數組。
您可以使用ExtendScript嘗試this polyfill。但它不能正常工作:
final
,因爲ExtendScript認爲它是保留關鍵字。只需加上下劃線(即_final
)。self
給出參數補丁必須this
我已經做了非常有限的測試與此填充工具在ExtendScript被替換,但似乎工作更簡單的東西相當不錯,即使您否則會降低性能將有。
它將返回爲array instanceof Uint8Array
(假設當然array
被宣佈爲一)。
Thx 10^6 :-) 'instanceof Uint8Array'是我需要使用這個(我相信)的唯一方法...我可以註釋掉部分代碼來緩解/加速代碼嗎?或者會打破它的功能? –
@DominiqueKenens沒問題:),當然,你應該能夠剪掉任何不是uint8 ops的東西,比如包函數,浮點等等。當然,檢查每個刪除操作,刪除的函數/方法沒有依賴關係。 – K3N
好的,請發佈一個你已經嘗試過的最簡單的例子,並解釋什麼是不工作的 – user7951676
有這個 - > https://github.com/substack/typedarray它說的是舊的瀏覽器,但我有一種感覺不是與ECMAScript 3一樣老::( – Keith
'if(k instanceof Uint8Array){...}' 這主要是因爲它是對PostScript代碼的重新編制,PostScript dict鍵區分數字和字符串表示形式的編號。 –