Javascript 试图使文本显示为变量,但它只显示[object HtmlLevel]

Javascript 试图使文本显示为变量,但它只显示[object HtmlLevel],javascript,html,Javascript,Html,当我按get money时,它将添加[object HtmlLevel]1,而不仅仅是1。代码如下: <script> function cash(){ var Cash = 0 document.getElementById("Cash").textContent = Cash } function text(){ Cash = Cash + Number(1) docu

当我按get money时,它将添加[object HtmlLevel]1,而不仅仅是1。代码如下:

<script>
    function cash(){
        var Cash = 0
        document.getElementById("Cash").textContent = Cash
    }
        function text(){
            Cash = Cash + Number(1)
            document.getElementById("Cash").textContent = Cash
        }
    </script>
</head>

<body onload="cash()">
    <div id="Cash"></div>
    <button class="button-long" onclick="text()">Get Money</button>
</body>

功能现金(){
var现金=0
document.getElementById(“现金”).textContent=Cash
}
函数文本(){
现金=现金+数字(1)
document.getElementById(“现金”).textContent=Cash
}
赚钱

我不知道发生了什么,我也没有找到其他关于如何解决这个问题的方法。CSS与此无关,我已经检查了很多次代码,也做了很多次更改和测试,我在这个网站或任何其他网站上都没有发现任何与此相关的内容。我想在这方面得到一些帮助,因为我不知道发生了什么。

您在
Cash
函数中声明了
Cash
变量,该变量对
text
函数不可见。要解决此问题,您需要将
Cash
声明移到
Cash
函数之外,其中两个函数都可以看到,如下所示:

<head>  
  <script>
    var Cash = 0

    function cash(){
      document.getElementById("Cash").textContent = Cash
    }

    function text(){
      Cash = Cash + Number(1)
      document.getElementById("Cash").textContent = Cash
    }
  </script>
</head>

<body onload="cash()">
    <div id="Cash"></div>
    <button class="button-long" onclick="text()">Get Money</button>
</body>

var现金=0
功能现金(){
document.getElementById(“现金”).textContent=Cash
}
函数文本(){
现金=现金+数字(1)
document.getElementById(“现金”).textContent=Cash
}
赚钱

鉴于
text
函数看不到
Cash
,您现在可能想知道为什么您在
text
函数中观察
[object htmlidement]
Cash
值,而不是
未定义的
。原因是DOM中还有一个id相同的元素,即
Cash
,它变成了一个。通过全局声明
var Cash=0
,将对DOM元素的Cash引用进行阴影处理。

您在
Cash
函数中声明了
Cash
变量,该变量对
text
函数不可见。要解决此问题,您需要将
Cash
声明移到
Cash
函数之外,其中两个函数都可以看到,如下所示:

<head>  
  <script>
    var Cash = 0

    function cash(){
      document.getElementById("Cash").textContent = Cash
    }

    function text(){
      Cash = Cash + Number(1)
      document.getElementById("Cash").textContent = Cash
    }
  </script>
</head>

<body onload="cash()">
    <div id="Cash"></div>
    <button class="button-long" onclick="text()">Get Money</button>
</body>

var现金=0
功能现金(){
document.getElementById(“现金”).textContent=Cash
}
函数文本(){
现金=现金+数字(1)
document.getElementById(“现金”).textContent=Cash
}
赚钱
鉴于
text
函数看不到
Cash
,您现在可能想知道为什么您在
text
函数中观察
[object htmlidement]
Cash
值,而不是
未定义的
。原因是DOM中还有一个id相同的元素,即
Cash
,它变成了一个。通过全局声明
var Cash=0
,这将隐藏对DOM元素的Cash引用