JavasScript Object 問題

這是我的程式碼

首先是index.html檔案

<html>

<head>

<title>This is class test</title>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width">

<script src="newjavascript.js" type="text/javascript"></script>

<script>

function computeAccu()

{

mynumber=(document.getElementById("GetNumm").value);

MyAccu=new Myclass(mynumber);

document.getElementById("GetAccu").value= MyAccu.total;

}

</script>

</head>

<body>

<form name="hihi">

Please input a number: <input type="text" name="GetNumming" value="" id="GetNumm"/><br><br>

The total accumulation is: <input type="text" name="GetAccuing" value="" id="GetAccu"/><br><br>

<input type="button" value="compute" name="computing" onclick="computeAccu()" />

</form>

</body>

</html>

再來是另外一個檔案newjavascript.js

function Myclass(num)

{

this.num=num;

this.total=this.num*(this.num+1)/2;

}

我的問題是不管如何

執行出來後都是37.5

即使我把this.total=0;

還是一樣@@"

這37.5到底是那邊來的阿>"<

2 個解答

評分
  • John
    Lv 7
    7 年前
    最佳解答

    try using parseInt() before calculation;

    try this...

    <html>

    <head>

    <script type="text/javascript">

    function btnComputeOnClick() {

    var number = document.getElementById("number");

    var obj = new MyObject(parseInt(number.value));

    number.value = obj.total;

    }

    function MyObject(value) {

    this.value = value;

    this.total = this.value * (this.value + 1) / 2;

    }

    </script>

    </head>

    <body>

    <form id="frm">

    Please input a number:

    <input type="text" id="number" value="" />

    <input type="button" value="compute" name="btnCompute" onclick="btnComputeOnClick()" />

    </form>

    </body>

    </html>

  • 7 年前

    執行過程式,並未發生問題!

還有問題?馬上發問,尋求解答。