这个函数返回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,原因是什么?
答案 0 :(得分:0)
很可能你得到id totalNumber
的元素值的时间是未定义的,因为input元素是空的。通常,此选择应在事件侦听器的回调内完成,因为此回调需要它。例如,请查看以下代码段:
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"/>
&#13;