有人可以向我解释为什么第一个代码总是打印3 第二个代码运作良好?
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
end
VS
var buttons = document.getElementsByTagName('button');
for (var i = 0; i < buttons.length; i++) {
buttons[i].addEventListener('click', function() {
console.log('You clicked button #' + i);
});
}
答案 0 :(得分:1)
添加事件侦听器时,您将创建一个引用封闭范围中的Icon a = new ImageIcon("images/a.jpg");
JButton button = new JButton("Something in button", a);
变量的函数。该变量在循环中递增,并且在执行该函数时,您将在循环结束时获得变量的值。
通过在循环内创建另一个变量,您将在循环执行时复制该值。