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

从对象文字 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贡献1587条经验 获得超7个赞

鉴于您当前的代码,这是不可能的,因为在调用之后没有引用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());


查看完整回答
反对 回复 2天前
  • 1 回答
  • 0 关注
  • 5 浏览
慕课专栏
更多

添加回答

举报

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