絕地?zé)o雙
2023-03-18 17:21:12
let foo={ name:"", method:function(){ function bar(){ return "bar"; } //bar(); //(2) }};foo.method.bar(); //(1)(1): 拋出一個(gè) Uncaught TypeError: c.method.bar is not a function,我知道foo.method.bar正在搜索一個(gè)名為barinside的屬性鍵/名稱(chēng)method,但它不存在,所以bar當(dāng)從外部訪問(wèn)foo而不做時(shí)我該如何調(diào)用這 (2)
1 回答

斯蒂芬大帝
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
鑒于您當(dāng)前的代碼,這是不可能的,因?yàn)樵谡{(diào)用之后沒(méi)有引用bar
remains ,并且因?yàn)橐膊徽{(diào)用自身。method
method
bar
如果你想要這樣的東西,穿上bar
外面的物體,讓它暴露在外:
let foo = {
name: "",
bar() {
return "bar";
},
method: function() {
}
};
console.log(foo.bar());
理論上可以將bar函數(shù)直接放到 上method,但這會(huì)很奇怪:
let foo = {
name: "",
method: function() {
}
};
foo.method.bar = function() {
return "bar";
};
console.log(foo.method.bar());
添加回答
舉報(bào)
0/150
提交
取消