common mistake of closure in loops

  下例中item引用的始终是最后一个值。

function showHelp(help) {
  document.getElementById('help').innerHTML = help;
}

function setupHelp() {
  var helpText = [
      {'id': 'email', 'help': 'Your e-mail address'},
      {'id': 'name', 'help': 'Your full name'},
      {'id': 'age', 'help': 'Your age (you must be over 16)'}
    ];

  for (var i = 0; i < helpText.length; i++) {
    var item = helpText[i];
    document.getElementById(item.id).onfocus = function() {
      showHelp(item.help);
    }
  }
}

setupHelp();
View Code

相关文章:

  • 2022-12-23
  • 2021-09-14
  • 2022-02-09
  • 2021-11-12
  • 2021-12-01
  • 2021-09-21
  • 2022-01-15
  • 2022-01-06
猜你喜欢
  • 2022-02-12
  • 2022-12-23
  • 2022-12-23
  • 2022-02-01
  • 2022-12-23
  • 2021-06-27
  • 2021-06-25
相关资源
相似解决方案