gpt4 book ai didi

javascript - 带有附加子函数的函数调用

转载 作者:行者123 更新时间:2023-11-28 02:01:03 25 4
gpt4 key购买 nike

我问自己是否可以在 js 中调用一个函数,同时在其中包含额外的子函数

fn(s);

fn.subfn(s);

例如制作这样的实用程序

var s = "123";
string(s) // true
string.blank(s) // false

我认为这是可能的:

function string(s) {
if(s) return typeof(s) === "string";
return {
blank: function(s) {
return s.trim().length === 0;
}
}
}

但每次我调用 string(s) 时,我都会重新定义空白 fn,可能会导致性能不佳和代码不佳,或者我错了?

谢谢。

最佳答案

函数只是对象,所以是的,您可以只向它们添加属性:

function string(s) {
return typeof(s) === "string";
}

string.blank = function(s) {
return s.trim().length === 0;
}

这将允许您调用电话

string(s);
string.blank(s);

正如您的示例所示。

<小时/>

对代码的评论:

当您调用string时,您定义的函数返回一个对象,因此您需要将该函数调用为

string().blank(s);

这与您在开始时展示的示例有所不同。

关于javascript - 带有附加子函数的函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18444385/

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