有没有像c中的符号这样的东西,我可以在javascript中使用它来调用参数?

有没有像c中的符号这样的东西,我可以在javascript中使用它来调用参数?,javascript,Javascript,可能重复: 我拼命寻找解决办法。我有一个javascript项目要完成,唯一阻碍我的就是这个小东西。我只需要c中的and和ampersand之类的东西放在函数参数旁边,这样它就可以通过引用传递,并且它会在函数之外发生变化 现在我知道还有其他方法。但对我来说,这是唯一能帮助我的事情。 这是一个创建二进制搜索树的程序,我最初是用C++编写的,但是我需要把它转换成JavaScript,因为我将展示在代码执行时树是如何生成的。这是我的项目。所以要创建二进制结构,只有像符号这样的东西对我有帮助 func

可能重复:

我拼命寻找解决办法。我有一个javascript项目要完成,唯一阻碍我的就是这个小东西。我只需要c中的and和ampersand之类的东西放在函数参数旁边,这样它就可以通过引用传递,并且它会在函数之外发生变化

现在我知道还有其他方法。但对我来说,这是唯一能帮助我的事情。 这是一个创建二进制搜索树的程序,我最初是用C++编写的,但是我需要把它转换成JavaScript,因为我将展示在代码执行时树是如何生成的。这是我的项目。所以要创建二进制结构,只有像符号这样的东西对我有帮助

function nod()
{
    var info;
    var left;
    var right;
}

var rad;
rad = new nod();
rad = null;

function create(rad,x) // create(nod *&rad, int x) in c++
{
    if(rad==null)
    {
        rad = new nod();
        rad.info = x ;
        rad.left = rad.right = null;
    }
    else
    {
        if(x < rad.info)
        {
            create(rad.left,x);
        }
        else
        { 
            create(rad.right,x);
        }
    }
}

function read(rad) // read(nod *&rad) in c++
{
    var input = [
                    0,
                    10,
                    2,
                    1,
                    8,
                    9,
                    4,
                    5,
                    3,
                    6,
                    20,
                    11,
                    30,
                    21,
                    31,
                    22,
                    23,
                ];
    var i;
    for(i=1;i<=16;i++)
    {
        create(rad,input[i]);
    }
}

read(rad);

在javascript中,对象是通过引用传递的。因此,请尝试将值作为对象传递。
提示:试着像这样传递它{value:your_value}

未测试,但如果您不迫切需要递归,可以使用以下方法:

function create(rad, x) // create(nod *&rad, int x) in c++
{
  var result = new nod();
  result.info = x;
  result.left = result.right = null;

  while (true) {
    if (x < rad.info) {
      if (rad.left) {
        rad = rad.left;
        continue;
      }
      rad.left = result;
      break;
    } else
      if (rad.right) {
        rad = rad.right;
        continue;
      }
      rad.right = result;
      break;
    }
  }
}

你永远不会说你有什么问题可以解决。请更详细地描述一下你的问题。。我的问题是。。我需要这种递归结构,因为我需要能够从rad开始,得到所有节点,就像rad在开始时是10。。左弧度是1弧度左弧度右弧度是2弧度右弧度是20。。。我需要通过这种方式访问它。。这是我的项目必须做的。。。。我需要这样做,因为我正在制作一个网页,将有C++代码显示在左边和右边,我将有二元树生成的代码执行。通过点击一个按钮,它将执行一行代码。。。我需要它与c代码几乎相同,这样就有了最少的问题DOWN vote,字符串和其他基本类型不会通过引用传递。正如你所说的,物体是好的,谢谢,补充道。我认为它们是通过引用传递的,看看这个,JavaScript中没有任何东西是通过引用传递的。阅读重复问题的公认答案。此处的混淆源于这样一个事实,即传递的是引用,但如果在函数中重新分配变量而不是修改其内容,则引用不再存在。所以,一个引用被传递了,但可以说它没有被返回。只要不重新分配作为参数传递的变量,它的行为将与引用传递模型中的预期一样。