如何访问从函数表达式返回的值?
How to access value returned from a function expression?
我正在尝试 return 并从 onchange
事件中访问动态 select 的值。我知道如何使用函数声明,但我不清楚函数表达式。如果能提供一点帮助,我们将不胜感激。
js
//create select
var select = document.createElement('select');
select.setAttribute('id','select_month');
//onchange
select.onchange = function changeMonth(selectedmonth){
selectedmonth = this.value;//works well here
return selectedmonth;
};
var selectedmonth = changeMonth();//undefined
changeMonth
是一个仅限于函数本身的变量,因此对脚本的其余部分不可用。
即使它 是 可用,然后意识到当 DOM 调用该函数时(当事件触发时),它用 this
绑定到 DOM 元素。当你在你的代码中显式调用它时,你也应该这样做。
好处是函数的引用可以作为 select.onchange
使用,所以请使用它。这样您就可以同时解决这两个问题:
var selectedmonth = select.onchange(select);
我正在尝试 return 并从 onchange
事件中访问动态 select 的值。我知道如何使用函数声明,但我不清楚函数表达式。如果能提供一点帮助,我们将不胜感激。
js
//create select
var select = document.createElement('select');
select.setAttribute('id','select_month');
//onchange
select.onchange = function changeMonth(selectedmonth){
selectedmonth = this.value;//works well here
return selectedmonth;
};
var selectedmonth = changeMonth();//undefined
changeMonth
是一个仅限于函数本身的变量,因此对脚本的其余部分不可用。
即使它 是 可用,然后意识到当 DOM 调用该函数时(当事件触发时),它用 this
绑定到 DOM 元素。当你在你的代码中显式调用它时,你也应该这样做。
好处是函数的引用可以作为 select.onchange
使用,所以请使用它。这样您就可以同时解决这两个问题:
var selectedmonth = select.onchange(select);