gpt4 book ai didi

javascript - 向调用函数的函数添加方法

转载 作者:行者123 更新时间:2023-11-29 21:20:40 25 4
gpt4 key购买 nike

创建模块 我结束了将方法附加到函数的模式设计,我不确定它是否正确。它是一个返回函数的闭包,该函数附加了一些方法,这些方法又调用函数本身。我不知道这是一种不好的做法,还是认为可以。我的目标是提供使用某些礼物或以不同方式调用函数的方法,但我想保留以更简单的形式调用函数的能力。这会导致内存泄漏或类似情况吗?

我在任何时候都不会使用它,所以没有丢失上下文的危险。

您可以在下面找到一个简化版本的代码片段。

function factory( general ){

var pusher = setTimeout(function(){ console.log('$',general) },1000);
var counter = 0;

function reporter ( specific ){
counter++;
console.log(counter, general , specific)
}

reporter.middleware = function ( something ){
clearTimeout(pusher);
return factory ( general + something )
}

return reporter
}

提前致谢。

最佳答案

Would this lead to memory leaks or anything like that?

无非就是别的。 :-)

由于函数是 JavaScript 中的固有对象,您可以向它们添加属性,这些属性可以引用其他函数。在技​​术层面上,这根本不是问题。例如,jQuery 使用它的 $ 函数来实现它,它不仅是可调用的 ($()),而且还有各种其他函数 ($. ajax$.Deferred$.noConflict 等)。

无论是好的风格还是设计,在很大程度上都是一个意见问题,所以对于 SO 来说有点离题。它可能很好。或者,您最好返回一个非函数对象,并将您的各种函数作为属性返回。

关于javascript - 向调用函数的函数添加方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38657838/

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