gpt4 book ai didi

Javascript:函数链接

转载 作者:数据小太阳 更新时间:2023-10-29 04:48:13 25 4
gpt4 key购买 nike

解决方案:不。你做不到。用 && 链接命令并完成它。

tl;dr:在 random.function("blah").check() 中,如何让它忽略 check() if function("blah") 返回 false?或者这甚至可能吗?

背景:

好吧,我很讨厌写代码。但我正试图通过编码让我的生活稍微轻松一些的东西来拖延。我的意思是微观上。所以基本上,我的整个项目都是基于对象和插件的。 (插件是包含对象的附加 .js 文件。例如,afk.js 看起来像这样:

global.afk = function(){};
afk.check = function(){ ... };

等等。通过加载那个 js 文件,我可以访问 afk 对象和其中的所有函数。可能效率不高,但它可以工作,并且可以更轻松地弄清楚哪些功能在做什么。

回到拖延问题。因为不知道加载了什么插件,所以在一些共享的核心.js文件中,有这样的条件语句: if (plugin.has("afk")) { afk.check(); }; 然而,我觉得无聊并让 plugin.has() 返回实际对象而不是“true”,所以我可以这样做:

plugin.has("afk").check();

按预期工作。除非没有afk插件,抛出“false has no method check”的明显错误。

就是这样。有任何想法吗?另外,如果您对任何事情有任何疑虑,请告诉我。我知道我做错了/效率低下了很多事情,当我弄清楚时,很高兴能解决这些问题。

最佳答案

返回的对象应该有那个函数,否则你会得到一个错误。您可以做的是创建一个始终返回的基本 Object 类型。当你返回它时,它有一个空函数,不会产生错误。

类似于:

var baseObj = function(){
this.afk = function(){
return this;
}
this.check = function(){
return false;
}
};

var advObj = new baseObj();
advObj.afk = function(){
// extended func
return new baseObj();
}

var a = new advObj();
a.afk("test").check();

关于Javascript:函数链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16021214/

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