javascript params 变量会以某种方式强制更改,即使是 const 变量

问题描述 投票:0回答:1

我试图保留某些东西的基值,但即使它是 const 和 param,仍然不会保留它的值?我不知道它是如何做到的,但这是我的代码。

function load_descendants(elem,array,mooo)
{
  const origin = mooo
  for (var c=0;c<array[0].length;c++)
  {
    //NOTE WHILE EDITING ON STACK OVERFLOW: the variable "mooo" from each loop some reason gets changed and keeps its value and kind of breaks the rules of javascript somehow
    var mew = origin
    console.log(origin,mew,c)
    if (c!=0) {
      mew.splice(mew.length-2,2) // had to add in because the param mooo wouldnt keep its value since its supposed to do that?
    }
    mew.push("["+0+"]")
    mew.push("["+c+"]")
    var ob = new_child_object(array[0][c][1],array[0][c][2],mew)
    if (ob != false)
    {
      elem.appendChild(ob[0])
      if (array[0][c][0].length != 0) {
        load_descendants(ob[1],array[0][c],ob[2])
      }
    }
  }
}

function loadExplorer()
{
  document.getElementById("main").innerHTML = ""
  Object.entries(GAME).forEach(([k,v]) => {
    var ob = new_object(v[1],v[2],[v[1]])
    document.getElementById("main").appendChild(ob[0])
    load_descendants(ob[1],v,[k])
    update_width()
  })
}

loadExplorer()

我试图阻止值更改,但它所做的只是保留 for 循环中的最后一个值,并将更改后的相同值提供给下一个索引循环我什至检查每个变量是否具有相同的名称并更改了索引变量,但没有任何变化。如果您有答案,我将不胜感激。

javascript loops for-loop variables
1个回答
0
投票

5个小时后我得到了它。我只需要获取变量的深层副本。还要感谢。如果有人也遇到这个问题,请点击链接将变量的值复制到另一个变量中

© www.soinside.com 2019 - 2024. All rights reserved.