gpt4 book ai didi

javascript - 更干净地将函数嵌套到对象中

转载 作者:行者123 更新时间:2023-11-29 17:53:47 26 4
gpt4 key购买 nike

我成功地嵌套了对象,例如 A。

  var A = {};
A.dog = function(){
console.log("LOVE HUMAN");
}
A.dog.say = function(){
console.log("Woof woof!!");
}
A.dog.favorite = {};
A.dog.favorite.meat = function(){};

A.dog();
A.dog.say();

>>console: LOVE HUMAN
Woof woof!!

接下来,我尝试干净地编写像 B 这样的对象。

var B = {
dog:function(){
console.log("LOVE HUMAN");
},
dog:{
say:function(){
console.log("Woof woof!!");
},
favorite:{
meat:function(){}
}
}
};

A.dog();
A.dog.say();

>>console: TypeError: B.dog is not a function

但是因为写作方式我失败了。和A一样的东西怎么能用B的文风来实现呢?

最佳答案

你需要使用Object.assign

var B = {
dog: Object.assign(
function() {
console.log("LOVE HUMAN");
}, {
say: function() {
console.log("Woof woof!!");
},
favorite:{
meat: function() {}
},
}
),
};

B.dog(); B.dog.say();两者都可以。

注意:Object.assign 是一个 ES6 javascript 特性,你可以使用这个 polyfill (添加对所有浏览器的支持)通过添加此脚本

关于javascript - 更干净地将函数嵌套到对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41001337/

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