[英]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-type
和defprotocol
,以及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.