繁体   English   中英

从 object 文字 foo 外部,如何调用 foo 内部方法的内部 function? (见下面的代码)

[英]From outside an object literal foo,how to call an internal function of a method inside foo? (See code below)

 let foo={ name:"", method:function(){ function bar(){ return "bar"; } //bar(); //(2) } }; foo.method.bar(); //(1)

(1): 抛出一个 Uncaught TypeError: c.method.bar is not a function,我知道foo.method.bar正在搜索一个名为bar inside method的属性键/名称,但它不存在,所以我该怎么做在不这样做的情况下从外部foo访问时调用bar (2)

鉴于您当前的代码,这是不可能的,因为在调用method之后没有任何引用bar的东西,并且因为method也不调用bar本身。

如果你想要这样的东西,把bar放在外面的 object 上,这样它就暴露了:

 let foo = { name: "", bar() { return "bar"; }, method: function() { } }; console.log(foo.bar());

理论上可以将bar function 直接放在method上,但这很奇怪:

 let foo = { name: "", method: function() { } }; foo.method.bar = function() { return "bar"; }; console.log(foo.method.bar());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM