Javascript 调用其他对象方法

Javascript calling other object method

本文关键字:方法 对象 其他 调用 Javascript      更新时间:2023-09-26

我有两个对象:A和B。我想从B打电话给A.something,但不起作用...

A = function()
{
  function something()
  {
     //do something
  }
}
B = function()
{
  A.something();
}

这会抛出"typeError, A.something();不是函数"...

当前代码尝试将A用作函数的对象。您需要调用函数A(),但是它的something方法仍然不可用(因为它没有公开)。

如果您希望A成为对象,则可以使用如下所示的对象文本:

A = {
  something: function()
  {
     //do something
  }
}
B = function()
{
  A.something();
}

或者对于更经典的方法,您可以使用new

function A()
{
  this.something()
  {
     //do something
  }
}
B = function()
{
  var a = new A();
  a.something();
}

还有更多方法。 可以使用Object.create,也可以通过在 A 函数中返回对象来使用功能更强大的方法。

不要将A声明为函数本身,将其声明为对象:

A = {}

然后在里面放置something作为你的函数:

A = {
    something: function() {
        //do something
    }
}

您现在可以拨打A.something()

首先,要在javascript中创建一个对象,你必须像这样定义你的类A(简单的方法,不使用原型):

A = function()
{ 
  return {
    something = function()
    {
       //do something
    }
  }
}

然后通过调用 var object = A() 创建对象。

所以你的代码最后应该看起来像这样:

A = function()
{ 
  return {
    something = function()
    {
       //do something
    }
  }
}
B = function()
{
  var aObject = A();
  aObject.something();
}