gpt4 book ai didi

javascript - 将@ 分配给一个单独的对象以方便命名空间

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

在 coffeescript 中,您可以通过在定义前加上 @ 来将对象或类分配给全局命名空间。象征。

例如

class @Dog #This is now available via window.Dog due to the @
constructor : () ->

但是有没有办法分配 @符号到另一个对象,而不是窗口?

当我尝试 @ = {} , 我收到了 error: unexpected =
这将允许您始终将对象定义为 namespace ,但稍后会改变您对 namespace 的看法。它允许您避免逐个导出。您可以在测试时将 @ 设置为 global,然后在部署时将其设置为备用命名空间。

如果有更好的方法或替代方法来实现类似的目标,那也太棒了!

最佳答案

不能 this 分配一些东西, this是作用域变量。

我想你可以做一些函数来设置命名空间:

@scope = do ( -> return @ ) #change `@` at the end to your namespace

那么你会这样做:
class @scope.Dog
constructor: () ->
...

解析为:
this.scope = (function() {
return this;
})();

this.scope.Dog = (function() {

function Dog() {
...
}

return Dog;

})();

关于javascript - 将@ 分配给一个单独的对象以方便命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18533836/

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