有两种方法可以解决这个问题:
- 当值改变时更新你的变量
- 使用始终返回正确值的函数
change
1)您可以为事件或keyup
更改全局变量的事件添加侦听器:
// save initial value
var val = document.getElementById('one').value;
// update the value when input is changed
addEventListener(document.getElementById('one'), 'change', function() {
val = document.getElementById('one').value;
});
console.log(val);
2)您可以使用始终返回当前值的函数:
var val = function() { return document.getElementById('one').value; };
console.log(val());
2b)如果你讨厌括号,你可以定义一个使用上面的函数作为getter的属性:
Object.defineProperty(window, 'one', {
get : function() { return document.getElementById('one').value; }
});
console.log(one);