关于js大隐1-100内的质数 ,定义a在里边和外边的区别,里边是对的,外边执行效果是错的

for (i = 2; i <= 100; i++) {
  var a = 0;
  for (j = 2; j < i; j++) {
    if (i % j == 0) {
      a++;
      flag = false;
    }
  }
  if (a == 0) {
    document.write(i + "<br >")
  }
}

var a = 0;
for (i = 2; i <= 100; i++) {



  for (j = 2; j < i; j++) {
    if (i % j == 0) {
      a++;
      flag = false;
    }
  }
  if (a == 0) {
    document.write(i + "<br >")
  }
}