声明了 JS 函数参数但从不读取

JS function parameters are declared but never read

我在 html 中有一个输入,我想将输入的文本放入 JS 上的一个对象中,然后将其显示在 html 上的

标签上。 因为我不想简化代码,所以我尝试创建一个函数(这样我就可以为每个对象属性调用它。 <input type="text" placeholder="Typ" id="type-mhouse" /> 是输入。

const land = {
  Type: "",
  Adress: "",
  Value: "",
  updateValue: function (x, y, z) {
    this.x = document.getElementById(y).value;
    document.getElementById(z).textContent = this.x;
    console.log(this[0]);
  },
};

是JS。

<p class="ergebnis" id="ergtype-house"></p>

是显示结果的地方。

问题是: 当我在输入中键入例如“Flat”时,它在 html 输出中正确显示,但是 land.Type仍然是 "".

我已经尝试了所有方法,但我对 JS 还是很陌生,所以我无法解决它。 (我也知道我不应该将东西命名为“类型”或“值”。我会更改它。)

感谢任何评论!

重要编辑: land 对象用于链接的 js 文件中。 单击按钮时在 HTML 内调用该函数:

<script>
        $(document).ready(function () {
          
          //Button on Modal
          $("#submit").click(function () {
           
            land.updateValue("Type", "type-mhouse", "ergtype-house");

          });
        });
      </script>

我不确定你想做什么,但这里有一个解决你问题的方法。

const land = {
  type: "",
  address: "",
  value: "",
  updateValue: function(landAttributeName, textElementId, displayElementId) {
    this[landAttributeName] = document.getElementById(textElementId).value;
    document.getElementById(displayElementId).innerText = this[landAttributeName] || '';
  },
};

顺便说一句,你是对的,你应该使用更容易理解的名字:-)

计算机科学中只有两件难事:缓存失效和命名事物。 -- 菲尔·卡尔顿