为了账号安全,请及时绑定邮箱和手机立即绑定

从对象文字 foo 外部,如何调用 foo 内部方法的内部函数?(见下面的代码)

从对象文字 foo 外部,如何调用 foo 内部方法的内部函数?(见下面的代码)

绝地无双 2023-03-18 17:21:12
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正在搜索一个名为barinside的属性键/名称method,但它不存在,所以bar当从外部访问foo而不做时我该如何调用这 (2)
查看完整描述

1 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

鉴于您当前的代码,这是不可能的,因为在调用之后没有引用barremains ,并且因为也不调用自身。methodmethodbar

如果你想要这样的东西,穿上bar外面的物体,让它暴露在外:

let foo = {

  name: "",

  bar() {

    return "bar";

  },

  method: function() {


  }

};

console.log(foo.bar());

理论上可以将bar函数直接放到 上method,但这会很奇怪:


let foo = {

  name: "",

  method: function() {


  }

};

foo.method.bar = function() {

  return "bar";

};

console.log(foo.method.bar());


查看完整回答
反对 回复 2023-03-18
  • 1 回答
  • 0 关注
  • 46 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信