Eve*_*man 5 clojure clojurescript
我正在尝试为现有的JavaScript系统添加一些功能.然后再次从JavaScript中使用(而不是在ClojureScript命名空间中).也许这是不可能的?
这是我想要做的简化:
// JavaScript
String.prototype.foo = function() {
return "bar";
}
# CoffeeScript
String::foo = ->
"bar"
Run Code Online (Sandbox Code Playgroud)
我希望能够在上面运行我的脚本,然后从代码中的其他地方调用它.
我已经试过搞乱extend-type和defprotocol,沿export,但似乎没有什么暴露我foo的功能.
这可能是一个设计决定,ClojureScript在这里不适合我,但我只是想确保我没有忽略某些东西.
dno*_*len 11
可以这样做:
(set! (.-foo (.-prototype js/String)) (fn [] "bar"))
Run Code Online (Sandbox Code Playgroud)
或者你可以使用..糖:
(set! (.. js/String -prototype -foo) (fn [] "bar"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1243 次 |
| 最近记录: |