gpt4 book ai didi

javascript - 具有子方法的功能可以吗?

转载 作者:行者123 更新时间:2023-11-29 18:30:32 24 4
gpt4 key购买 nike

这种东西在 JavaScript 中有效

function main() {
return 1;
}
main.sub = function () {
return 2;
};

main(); // 1
main.sub(); // 2

似乎对做类似的事情很有用

function props() {
return { color: props.color(), size: props.size() };
}
props.color = function () {
// calculate and return color
};
props.size = function () {
// calculate and return size
};

这样您就可以使用 prop() 轻松地获取所有 Prop 的对象,但如果您只需要一个,则可以直接调用它。这样的设置好吗?

最佳答案

尽管它是绝对合法的,但我会说这是对子方法的错误使用。它将函数与所述函数的返回值混淆。

我想说在函数中正确使用子方法是当你想为函数添加元数据时。假设您想为文档等功能设置一个属性,或者您是否希望它被混淆。然后您可以为函数而不是底层对象设置属性。

尽管您的使用可能会节省一些写作,但恕我直言,它会使阅读代码变得更加困难。您应该始终努力提高可读性,而不是写作。

关于javascript - 具有子方法的功能可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8906703/

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