鍍金池/ 問答/HTML/ 在function里和外的聲明

在function里和外的聲明

想請教一下,因為之前學習的時候有這樣的認識,var的聲明在function外的是全局變量,一般都是寫在他外面方便調用。
但是遇到這個例題要獲取ID的聲明需要寫在function里面的,寫在function外面的話則代碼無法執(zhí)行。

var inp1=document.getElementById("inp1").value,
    inp2=document.getElementById("inp2").value,
    btn=document.getElementById("btn");

實在不知道是為什么…

<body>
<p>第一個數(shù)字</p>
<input type="text" id="inp1">
<p>第二個數(shù)字</p>
<input type="text" id="inp2">
<button id="btn">+</button>
<script>
btn.onclick=function(){
    var inp1=document.getElementById("inp1").value,
    inp2=document.getElementById("inp2").value,
    btn=document.getElementById("btn");
  if(isNaN(inp1)==false && isNaN(inp2)==false){
    var a=parseInt(inp1);
    var b=parseInt(inp2);
    var c=a+b;
    alert(c);
  }else{
    alert("no");
  }
};</script>
</body>
回答
編輯回答
生性
實在不知道是為什么

你打印一下inp1,inp2的值就知道為什么了

2017年7月9日 11:57
編輯回答
忠妾

mvvm框架用多了吧。。如果寫在回調函數(shù)外面,inp1和inp2的值并不會實時更新,所以一直都是""空串。

2017年2月5日 11:11