亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于獲取元素ID的各種問題和他的運算順序。。。。大神們幫幫忙?。?!

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>style樣式</title>
<script type="text/javascript">
var numresult;
var str;
function onclicknum(nums) {
?? str = document.getElementById("nummessege");
?? str.value = str.value + nums;
}
</script>
</head>
<body>
<input type="text" id="nummessege"  />
<input type="button" value="4" id="4" onclick="onclicknum(4)">
</body>
</html>

這段代碼到底是怎么運算的,他的運算順序是怎么回事?

正在回答

3 回答

<input type="button"?onclick="onclicknum(4)">按鈕綁定了click事件 ,并添加了事件處理函數onclicknum。當單擊按鈕時,調用onclicknum函數,同時傳遞了一個參數4給onclicknum函數,它里面的nums變量就被賦值為4

函數里面?document.getElementById("nummessege"),它獲取到<input id="nummessege"/>,由于它沒有value, 所以str.value得到的是空字符串。

str.value = str.value + nums,等號是賦值運算符,運算優先級最低,所以先算右邊?str.value + nums,它實際是

''(空字符串)+4,結果是'4',然后賦值給左邊str.value 那么<input id="nummessege"/>文本框中顯示4。

當再點擊時,4又傳給了onclicknum函數,這時里面str.value=4, 那么‘4’+4=44.文本框中顯示44。

這里有兩點需要注意:

????1, input?文本框返回值是一個字符串,雖然你輸入數字4到文本框中,但它返回字符串'4',str.value ='4'

????2, +?優先做字符串連接。'4'+4 = '44'

如果做算術加,一般用parseInt 或parseFloat函數,顯示把字符串轉換為數字,str.value =parseInt(str.value) + nums; 但這是有一個問題,<input type="text" id="nummessege"  /> 最開始沒有value, 是空字符串,當進行第一次計算,parseInt('') 返回NaN, 以后無法進行計算了。

由于這里只是4這一個數字的相加,所有用Number 進行顯示轉換就可以了。str.value =Number(str.value) + nums; ?這時文本框時就顯示4, 8, 12等。

1 回復 有任何疑惑可以回復我~
#1

圖圖是個大天才 提問者

講解的很詳細,非常感謝,對我幫助很大
2016-03-20 回復 有任何疑惑可以回復我~

先是定義參數,inpurt定義一個nummessgee,input將獲取的參數值4傳送給document.getelemetbyid,點擊按鈕時onclicknoum復制輸入剛才的值,大概是這樣吧

1 回復 有任何疑惑可以回復我~

單擊事件發生時傳遞參數4給函數onclicknum(),并改變文本框對象的值

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于獲取元素ID的各種問題和他的運算順序。。。。大神們幫幫忙?。?!

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號