簡體   English   中英

ClojureScript:如何通過原型向JS對象添加方法?

[英]ClojureScript: How to add method via prototype to JS Object?

我正在嘗試為現有的JavaScript系統添加一些功能。 然后再次從JavaScript中使用(而不是在ClojureScript命名空間中)。 也許這是不可能的?

這是我想要做的簡化:

// JavaScript
String.prototype.foo = function() {
  return "bar";
}

# CoffeeScript
String::foo = ->
  "bar"

我希望能夠在上面運行我的腳本,然后從代碼中的其他地方調用它。

我已經嘗試搞亂extend-typedefprotocol ,以及export ,但似乎沒有任何東西暴露我的foo功能。

這可能是一個設計決定而ClojureScript在這里不適合我,但我只是想確保我沒有忽略某些東西。

可以這樣做:

(set! (.-foo (.-prototype js/String)) (fn [] "bar"))

或者你可以使用..糖:

(set! (.. js/String -prototype -foo) (fn [] "bar"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM