2017-09-08 78 views
0

我正在使用Adobe ExtendScript(.jsx),它基本上是舊版ECMAScript 3 JavaScript標準的一個子集。如何將類型化數組monkeypatch到ECMAScript 3 JavaScript中,特別是Uint8Array? (在Adobe ESTK中IDE的必要性)

爲了使用JS ECMAScript 5+編寫的開源開發代碼,我需要實現Typed Arrays(通過Monkeypatching或其他技術),以區分Uint8Array和「常規」數組。

+0

好的,請發佈一個你已經嘗試過的最簡單的例子,並解釋什麼是不工作的 – user7951676

+0

有這個 - > https://github.com/substack/typedarray它說的是舊的瀏覽器,但我有一種感覺不是與ECMAScript 3一樣老::( – Keith

+0

'if(k instanceof Uint8Array){...}' 這主要是因爲它是對PostScript代碼的重新編制,PostScript dict鍵區分數字和字符串表示形式的編號。 –

回答

1

您可以使用ExtendScript嘗試this polyfill。但它不能正常工作:

  • 您需要搜索並替換變量final,因爲ExtendScript認爲它是保留關鍵字。只需加上下劃線(即_final)。
  • self給出參數補丁必須this

我已經做了非常有限的測試與此填充工具在ExtendScript被替換,但似乎工作更簡單的東西相當不錯,即使您否則會降低性能將有。

它將返回爲array instanceof Uint8Array(假設當然array被宣佈爲一)。

+0

Thx 10^6 :-) 'instanceof Uint8Array'是我需要使用這個(我相信)的唯一方法...我可以註釋掉部分代碼來緩解/加速代碼嗎?或者會打破它的功能? –

+0

@DominiqueKenens沒問題:),當然,你應該能夠剪掉任何不是uint8 ops的東西,比如包函數,浮點等等。當然,檢查每個刪除操作,刪除的函數/方法沒有依賴關係。 – K3N

相關問題