[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/for [Back]  [Original]

for - JavaScript | MDN

MDN Web Docs

View in English Always switch to English

for

Baseline

20157

for 3

let str = "";

for (let i = 0; i < 9; i++) {
  str += i;
}

console.log(str);
// : "012345678"

js
for (initialization; condition; afterthought)
  statement
initialization

var var for let

condition

true statement false for

true

afterthought

condition

statement

true (;)

statement

for

for i 0 i 9 2 i 1

js
for (let i = 0; i < 9; i++) {
  console.log(i);
  // 
}

in for...in

js
for (let i = "start" in window ? window.start : 0; i < 9; i++) {
  console.log(i);
}
// SyntaxError: 'for-in' loop variable declaration may not have an initializer.
js
// Parenthesize the whole initializer
for (let i = ("start" in window ? window.start : 0); i < 9; i++) {
  console.log(i);
}

// Parenthesize the `in` expression
for (let i = ("start" in window) ? window.start : 0; i < 9; i++) {
  console.log(i);
}

for

for 3 initialization

js
let i = 0;
for (; i < 9; i++) {
  console.log(i);
  // 
}

initialization condition

js
for (let i = 0; ; i++) {
  console.log(i);
  if (i > 3) break;
  // 
}

3 break break true

js
let i = 0;

for (;;) {
  if (i > 3) break;
  console.log(i);
  i++;
}

3 while

js
let i = 0;

while (i <= 3) {
  console.log(i);
  i++;
}

js
for (let i = 0; i < 3; i++) {
  setTimeout(() => {
    console.log(i);
  }, 1000);
}

012

js
let i = 0;
for (; i < 3; i++) {
  setTimeout(() => {
    console.log(i);
  }, 1000);
}

333 setTimeout i i setTimeout() i 3

var var

js
for (var i = 0; i < 3; i++) {
  setTimeout(() => {
    console.log(i);
  }, 1000);
}
// 3, 3, 3 

condition afterthought let for initialization let

  1. let
  2. afterthought

afterthought

initialization condition initialization afterthought i

js
for (let i = 0, getI = () => i; i < 3; i++) {
  console.log(getI());
}
//  0, 0, 0

getI "0, 1, 2" getI i i i getI i getI

js
for (let i = 0, getI = () => i; i < 3; i++, getI = () => i) {
  console.log(getI());
}
//  0, 1, 2

initialization i i i getI 0

js
for (let i = 0, getI = () => i; i < 3;) {
  i++;
  console.log(getI());
}
//  0, 0, 0

i i

js
for (
  let i = 0, getI = () => i, incrementI = () => i++;
  getI() < 3;
  incrementI()
) {
  console.log(i);
}
//  0, 0, 0

"0, 0, 0" i getI incrementI i

for

for final-expression statement

js
function showOffsetPos(id) {
  let left = 0;
  let top = 0;
  for (
    let itNode = document.getElementById(id); // 
    itNode; // 
    left += itNode.offsetLeft,
      top += itNode.offsetTop,
      itNode = itNode.offsetParent // 
  ); // 

  console.log(
    `Offset position of "${id}" element:
left: ${left}px;
top: ${top}px;`,
  );
}

showOffsetPos("content");

// :
// Offset position of "content" element:
// left: 0px;
// top: 153px;

for for console.log statement log

2

for 2 let var

js
const arr = [1, 2, 3, 4, 5, 6];
for (let l = 0, r = arr.length - 1; l < r; l++, r--) {
  console.log(arr[l], arr[r]);
}
// 1 6
// 2 5
// 3 4

ECMAScript 2027 LanguageSpecification
# sec-for-statement


Web Proxy Viewer  |  New URL  |  Original Page