2016-11-24 87 views
0

该函数返回undefined,我无法理解它背后的推理。我有一个全局变量:了解返回“undefined”的函数

var output = document.getElementById("totalNumber").value; 

它得到的值很好,如果我做的console.log我得到的元素中的值。 然后,我有:

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

add.addEventListener("click", function(){ 
    console.log(adds(output)); 

    }) 

function adds(value){ 
    return value; 
} 

不管我做什么,它返回undefined,是什么原因?

+1

请你也加入您的HTML?谢谢 – Christos

+0

http://stackoverflow.com/a/6491570/3154301检查该文章 –

+1

适用于我:https://jsfiddle.net/r63udLkr/没有你的html很难找到问题。 – Cleared

回答

0

由于输入元素为空,因此很有可能您获取id为totalNumber的元素的值未定义。通常,这个选择应该在你的事件监听器的回调中完成,因为这个回调需要它。例如,请检查下面的代码片段:

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

 
add.addEventListener("click", function(){ 
 
    var output = document.getElementById("totalNumber").value; 
 
    console.log(adds(output)); 
 
    }) 
 

 
function adds(value){ 
 
    return value; 
 
}
<input type="text" id="totalNumber"/> 
 
<input type="button" id="add" value="add"/>