我正在尝试向现有的 JavaScript 系统添加一些功能。然后再次从 JavaScript 使用(而不是在 ClojureScript 命名空间内)。也许这是不可能的?
这是我想做的事情的简化:
// JavaScript
String.prototype.foo = function() {
return "bar";
}
# CoffeeScript
String::foo = ->
"bar"
我希望能够运行上面的脚本,然后从代码中的其他地方调用它。
我尝试过搞乱extend-type
and defprotocol
, 随着export
,但似乎没有任何东西暴露我的 foo 函数。
这可能是一个设计决定,ClojureScript 在这里不适合我,但我只是想确保我没有忽略某些东西。
可以这样做:
(set! (.-foo (.-prototype js/String)) (fn [] "bar"))
或者你可以使用..糖:
(set! (.. js/String -prototype -foo) (fn [] "bar"))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)