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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我在函數內部訪問時將我賦予數字輸入標記值的全局變量解析為字符串?

為什么我在函數內部訪問時將我賦予數字輸入標記值的全局變量解析為字符串?

開心每一天1111 2019-04-26 18:15:50
我是javascript的新手,我正在制作一個帶有兩個數字輸入標簽的小型網絡計算器。我將輸入的“type”屬性設置為“= number”,現在我希望當用戶點擊“添加”按鈕時,他/她獲得輸出。但問題是,當我聲明任何包含輸入GLOBALLY的值(安全地包含在“parseInt”中)的變量,并訪問我的函數中的var時,它將被解析為字符串。(即使在使用parseInt之后)我嘗試在fucntion中聲明變量,它工作正常,我的意思是它只被解析為NUMBER。但問題是我不能在evry函數中重復分配變量,用于add,sub,divide..etc,因為ode將變得長而且沉重。請幫幫我,告訴我怎樣才能宣布var GLOBALLY但是作為NUMBER ...var value1, value2;value1 = parseInt(document.getElementById("value1").value);value2 = parseInt(document.getElementById("value2").value);function add() {  added = value1 + value2;  document.getElementById("output").innerHTML = added;}First no:<input type="number" id="value1"><br> Second no:<input type="nunmber" id="value2"><br><button onclick="add()">add</button><br> output: <span id="output"></span>
查看完整描述

2 回答

?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

在這里你可以看到用全局變量解決了你的問題。


var value1, value2;



function add() {

  value1 = parseInt(document.getElementById("value1").value);

  value2 = parseInt(document.getElementById("value2").value);

  if(value1 && value2){

    added = value1 + value2;

    document.getElementById("output").innerHTML = added;

    checkGlobalVal();

  }else{

    console.log('Please give the input value.');

  }

  

}


function checkGlobalVal(){

  console.log('value1:',value1,' value2:',value2);

}

First no:<input type="number" id="value1"><br> Second no:<input type="nunmber" id="value2"><br>


<button onclick="add()">add</button><br> output: <span id="output"></span>


查看完整回答
反對 回復 2019-05-17
?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

您可以將變量賦值移動到函數內部,這樣每次設置函數時它們都會被設置,因此您不必從HTML端傳遞它們:


function add() {

  var value1 = parseInt(document.getElementById("value1").value);

  var value2 = parseInt(document.getElementById("value2").value);

  var added = value1 + value2;

  document.getElementById("output").innerHTML = added;

}

First no:<input type="number" id="value1"><br> Second no:<input type="nunmber" id="value2"><br>


<button onclick="add()">add</button><br> output: <span id="output"></span>

編輯:如果您希望變量是全局變量,您可以使用事件偵聽器:


var value1, value2;


document.getElementById("value1").addEventListener('input', function (evt) {

    value1 = +evt.target.value

});


document.getElementById("value2").addEventListener('input', function (evt) {

    value2 = +evt.target.value

});



function add() {

  var added = value1 + value2;

  document.getElementById("output").innerHTML = added;

}

First no:<input type="number" id="value1"><br> Second no:<input type="nunmber" id="value2"><br>


<button onclick="add()">add</button><br> output: <span id="output"></span>


查看完整回答
反對 回復 2019-05-17
  • 2 回答
  • 0 關注
  • 648 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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