Javascript 将函数更干净地嵌套到对象中
我成功地创建了嵌套对象,如AJavascript 将函数更干净地嵌套到对象中,javascript,Javascript,我成功地创建了嵌套对象,如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(); >>con
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!!
接下来,我尝试为cleanly编写像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
但是因为写作的方式,我失败了。
如何通过B的写作风格实现与A相同的事情?您需要使用
对象。分配
var B = {
dog: Object.assign(
function() {
console.log("LOVE HUMAN");
}, {
say: function() {
console.log("Woof woof!!");
},
favorite:{
meat: function() {}
},
}
),
};
B.狗();
狗说;两者都会起作用
注意:Object.assign是一个ES6 javascript功能,您可以通过添加此脚本来使用它(添加对所有浏览器的支持)