如果我在文本框中鍵入50並將0作爲offsetTop,則獲得050。爲什麼?這是代碼:JavaScript中的數字+數字=「numbernumber」
alert(allspan[i].offsetTop+document.getElementById("size").value);
如果我在文本框中鍵入50並將0作爲offsetTop,則獲得050。爲什麼?這是代碼:JavaScript中的數字+數字=「numbernumber」
alert(allspan[i].offsetTop+document.getElementById("size").value);
的.value
返回類型爲字符串,所以你得到串連接而不是兩個數的添加。
您需要使用parseInt
上的值。
alert(allspan[i].offsetTop + parseInt(document.getElementById("size").value,10));
將一個整數(allspan[i].offsetTop)
添加到字符串(document.getElementById("size").value
)中,該字符串將是一個字符串。
如果使第二值的整數,你將被罰款:
allspan[i].offsetTop + parseInt(document.getElementById("size").value)
這是一個常見的問題。如果你打算在數學方程中使用變量,那麼你必須使用parseInt(variableName)
來確保它是一個數字。
嘗試:
alert(parseInt(allspan[i].offsetTop) + parseInt(document.getElementById("size").value));
這是因爲document.getElementById("size").value
返回一個字符串,而不是一個整數。的唯一人物指定基數參數
parseInt(document.getElementById("size").value);
+1 – jbabey
@jbabey你甚至不需要parseInt函數爲... – Christoph
@Christoph「如果是在混合字符的字符串:試試這個(WTF?) ,結果你會得到NaN。「更多bulletproof總是更好:) – jbabey