我每次在输入字段中写'yes'时都试图递增变量,但是n控制台中的值始终保持为'1'.
$('#txt').on('keyup', function() {
let n = 0;
if($(this).val() == 'yes') {
n++;
console.log("You wrote 'yes' " + n + " times");
}
});
Run Code Online (Sandbox Code Playgroud)
我在这里遗漏了一些东西,但我不知道是什么.我如何继续增量n?
n每次单击时都会重置变量,因为它位于处理程序内部.因此,每次运行该处理程序时,都会使用初始值创建一个新变量.在事件处理程序之外声明并初始化它:
let n = 0;
$('#txt').on('keyup', function() {
if($(this).val() == 'yes') {
n++;
console.log("You wrote 'yes' " + n + " times");
}
});
Run Code Online (Sandbox Code Playgroud)
这样,每次单击时,变量都不会重新声明并初始化为0,它存在于处理程序之外.
| 归档时间: |
|
| 查看次数: |
623 次 |
| 最近记录: |