gpt4 book ai didi

ClojureScript:如何通过原型(prototype)向 JS 对象添加方法?

转载 作者:行者123 更新时间:2023-12-04 17:11:13 25 4
gpt4 key购买 nike

我正在尝试向现有的 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"))

关于ClojureScript:如何通过原型(prototype)向 JS 对象添加方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12420003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com