Javascript 从同一对象中的另一个函数引用一个对象函数

Javascript 从同一对象中的另一个函数引用一个对象函数,javascript,Javascript,有没有办法让下面这样的东西在JavaScript中工作 function a (){ return{ x: function foo(){ ...... } y: function bar(){ ....... ....... foo() //Doesn't work ..... } } } 有没有办法在函数栏()中引用foo(),这两个函数恰好位于同一个返回块中 如果条将始终/仅作

有没有办法让下面这样的东西在JavaScript中工作

function a (){


  return{
    x: function foo(){
      ......
    }

    y: function bar(){
      .......
      .......
      foo()    //Doesn't work
      .....
    }
  }
}
有没有办法在函数栏()中引用foo(),这两个函数恰好位于同一个返回块中

如果
将始终/仅作为表达式的一部分调用,在对象上查找它,或以任何其他方式确保该在调用过程中引用对象,例如:

theObject.y(); // Since you've called the property `y`

然后,您可以使用
bar
中的
this.x()
运行
foo
(因为您使用了
x
而不是
foo
作为属性名称):

函数a(){
返回{
x:函数foo(){
log(“我是foo”);
},
y:功能条(){
log(“我是酒吧,打电话给foo”);
这个.x();
}
};
}
var obj=a();

obj.y()函数表达式的可选名称仅在函数本身中可用(IE的某些错误版本除外)。@ShubhamKhatri-属性名x未映射到其他函数中的变量名x。
var b = theObject.y.bind(theObject);
b();