gpt4 book ai didi

JavaScript,MooTools - Class.Event - onComplete : Do nothing by default

转载 作者:行者123 更新时间:2023-11-30 06:02:50 25 4
gpt4 key购买 nike

我想通过实现 Events 和使用 this.fireEvent("complete") 来在我的 MooTools 类中使用 onComplete 事件。默认情况下,我只想让类(class)什么都不做。那么,您如何以最干净、最安全的方式实现默认的“什么都不做”呢?

我是否应该在默认类选项对象中省略选项 onComplete 并在上下文中仍然使用 this.fireEvent("complete")?还是这会导致错误或其他什么?我一直都是这样做的,但我不确定这是否是最好的方式......

你会用 if(this.options.onComplete && instanceOf(this.options.onComplete, Function)) { this.fireEvent("complete") } 代替吗?或者您会像 options: { onComplete: function(){} } 那样指定一个空函数作为默认函数吗?

此时我不关心最短的代码,但我想知道如何以最符合和节省内存的方式做到这一点。

感谢您的推荐! :)

最佳答案

好问题。看看 source code MooTools 的:

if (!events || !events[type]) return this;

如您所见,当找不到事件时,fireEvent 将只返回当前实例。因此,省略 onComplete 并保留 this.fireEvent('complete') 不会产生任何错误或奇怪的行为。

我什至不会在选项中指定一个空函数。如你所见here ,事件只是未定义,仅使用注释提及,以便人们知道它们存在并且可以使用:

options: {
//onComplete: $empty
}

关于JavaScript,MooTools - Class.Event - onComplete : Do nothing by default,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7145524/

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