我建议为值使用一个对象,因为您可以收集一个对象中的所有值而不会污染全局范围。
var foo = document.getElementById("something"),
values = {};
foo.addEventListener('change', function(e) {
values.value = this[this.selectedIndex].text;
values.id = this[this.selectedIndex].value;
}, false);
alert(values.value);
对于更加动态的版本,我建议使用values
以上的封闭。
var foo = document.getElementById("something"),
values = {};
foo.addEventListener('change', function (object) {
return function(e) {
object.value = this[this.selectedIndex].text;
object.id = this[this.selectedIndex].value;
};
}(values), false);
alert(values.value);
在外面声明,在里面初始化它们。 – Li357
如何?任何在外部声明的东西在函数内部没有任何作用 – meskerem
https://jsfiddle.net/ba4400jh/1/ – Li357