gpt4 book ai didi

javascript - 定义 Javascript 对象的 'implied' 方法

转载 作者:行者123 更新时间:2023-12-02 15:37:49 24 4
gpt4 key购买 nike

假设我有我的对象,foo:

var foo = {
name: "fooName",
consoleLog: function() {console.log("foo!")}
}

...但我不想必须指定 foo.consoleLog() 才能调用该函数,我只想调用 foo()为了获得相同的效果,保留该对象的所有其他规范,例如上面显示的 name,因此 foo.name 仍应返回fooName.

换句话说,我如何操作它以便 foo()foo! 记录到控制台, foo.name 将返回 fooName?

还值得注意的是,foo 将是另一个对象的子对象。

所以,它可能看起来更像是这样:

var bar = {
foo: {
name: "fooName",
consoleLog: function() {console.log("foo!")}
},
name: "barName"
}

我试图寻找这个,但我不知道该怎么调用它——主函数?不,那返回了太多 Java。隐含函数?不,这些结果没有帮助...所以现在我在这里。

我该怎么做?

最佳答案

你可以这样做:

var bar = {
foo: function fooName() { console.log('foo!'); },
name: 'barName'
};
bar.foo.anyPropertyButName = 'anyValue';

这样 foo 是一个函数(可以这样调用:bar.foo();)并且有一个值为 的 name 属性fooName.

如果您仍然需要 bar.foo.consoleLog 作为函数,只需添加:

bar.foo.consoleLog = bar.foo;

关于javascript - 定义 Javascript 对象的 'implied' 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32793616/

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