[英]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.