Baseline Widely available
for
æã¯ãæ¬å¼§ã§å²ã¿ã»ãã³ãã³ã§åºåã£ã 3 ã¤ã®å¼æ°ã¨ãç¶ãã¦ã«ã¼ãå
ã§å®è¡ãããæï¼ãµã¤ãã¯ãããã¯æï¼ããæãã«ã¼ããæ§æãã¾ãã
let str = "";
for (let i = 0; i < 9; i++) {
str = str + i;
}
console.log(str);
// Expected output: "012345678"
æ§æ
for (initialization; condition; afterthought)
statement
initialization
çç¥å¯
ã«ã¼ããå§ã¾ãåã«ä¸åº¦ã ãè©ä¾¡ãããï¼ä»£å
¥å¼ãå«ãï¼å¼ã¾ãã¯å¤æ°å®£è¨ããµã¤ãã¯ã«ã¦ã³ã¿ã¼å¤æ°ãåæåããããã«ä½¿ããã¾ãããã®å¼ã§ã¯ä»»æã§ãvar
ãã¼ã¯ã¼ããç¨ãã¦æ°ãã夿°ã宣è¨ãããã¨ãã§ãã¾ããvar
ã§å®£è¨ããã夿°ã¯ã«ã¼ãå
ã®ãã¼ã«ã«å¤æ°ã«ã¯ãªãã¾ãããããªãã¡ãfor
ã«ã¼ããå±ããã¹ã³ã¼ãã¨åãã¹ã³ã¼ãã«ãªãã¾ããlet
ã§å®£è¨ããã夿°ã¯æå
ã®ãã¼ã«ã«å¤æ°ã«ãªãã¾ãã
ãã®å¼ã®çµæã¯æ¨ã¦å»ããã¾ãã
condition
çç¥å¯
ã«ã¼ãã®ããããã®å復å¦çãè¡ãããåã«è©ä¾¡ãããå¼ã§ãããã®å¼ã true ã¨è©ä¾¡ãããå ´åã¯ã statement
ãå®è¡ããã¾ãããã®å¼ã false ã¨è©ä¾¡ãããå ´åã¯ãå®è¡ã¯ for
æ§é ã«ç¶ãæåã®å¼ã«é£ã³ã¾ãã
ãã®æ¡ä»¶ãã¹ãã¯ãªãã·ã§ã³ã§ããçç¥ããå ´åããã®æ¡ä»¶ã¯å¸¸ã« true ã¨è©ä¾¡ããã¾ãã
afterthought
çç¥å¯
ã«ã¼ãã®ããããã®å復å¦çã®æå¾ã«è©ä¾¡ãããå¼ã§ããããã¯ã次㮠condition
ã®è©ä¾¡åã«è¡ããã¾ããä¸è¬çã«ã¯ãã«ã¦ã³ã¿ã¼å¤æ°ãæ´æ°ã¾ãã¯å¢å ããããã«ä½¿ããã¾ãã
statement
æ¡ä»¶ã true ã¨è©ä¾¡ãããå ´åã«éãå®è¡ãããæã§ããã«ã¼ãå
ã§è¤æ°ã®æãå®è¡ããã«ã¯ããããã¯æã使ç¨ãã¦æãã°ã«ã¼ãåãã¦ãã ãããã«ã¼ãå
ã§æãå®è¡ããªãããã«ããã«ã¯ã空æ (;
) ã使ç¨ãã¦ãã ããã
次㮠for
æã¯ã夿° i
ã宣è¨ããããã 0
ã«åæåãããã¨ããå§ã¾ãã¾ããi
ã 9 ããå°ãããã¨ããã§ãã¯ããç¶ã 2 ã¤ã®æãå®è¡ããã«ã¼ããééããå¾ãã¨ã« i
ã 1 å¢å ãã¾ãã
for (let i = 0; i < 9; i++) {
console.log(i);
// ãã®ä»ã®æ
}
åæåãããã¯ã®æ§æ
åæåãããã¯ã¯ãå¼ã¨å¤æ°å®£è¨ã®ä¸¡æ¹ãåãå
¥ãããã¨ãã§ãã¾ãããã ããå¼ã«ã¯æ¬å¼§ã§å²ãã§ããªã in
æ¼ç®åã使ç¨ãããã¨ãã§ãã¾ãããfor...in
ã«ã¼ãã¨ææ§ã«ãªãããã§ãã
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.
// 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
ãããã¯ã§å¤æ°ãåæåããå¿
è¦ã¯ããã¾ããã
let i = 0;
for (; i < 9; i++) {
console.log(i);
// ãã®ä»ã®æ
}
initialization
ãããã¯ã¨åæ§ã«ãcondition
ãããã¯ãçç¥å¯è½ã§ãããã®å¼ãçç¥ããå ´åã¯ãæ¬ä½ã®ä¸ã§ã«ã¼ããè±åºã§ããããã«ãã¦ãç¡éã«ã¼ãã«ãªããªãããã«ããªããã°ãªãã¾ããã
for (let i = 0; ; i++) {
console.log(i);
if (i > 3) break;
// ãã®ä»ã®æ
}
3 ã¤ã®ãããã¯ããã¹ã¦çç¥ãããã¨ãã§ãã¾ããç¹°ãè¿ãã¾ããã break
æã使ç¨ãã¦ã«ã¼ããçµäºãããã¾ã break æã®æ¡ä»¶ãããæç¹ã§ true ã«ãªãããã«ã夿°ã夿´ï¼å¢å ï¼ããã¦ãããã¨ã確èªãã¦ãã ããã
let i = 0;
for (;;) {
if (i > 3) break;
console.log(i);
i++;
}
ãããã3 ã¤ã®ä½ç½®ã®å¼ããã¹ã¦ä½¿ç¨ãã訳ã§ã¯ãªãå ´åãç¹ã«æåã®å¼ã§å¤æ°ã宣è¨ãããä¸ä½ã®ã¹ã³ã¼ãã§ä½ãã夿´ãã¦ããå ´åã¯ã代ããã« while
ã«ã¼ãã使ç¨ãããã¨ãæ¤è¨ããã»ããæå³ãããæç¢ºã«ãªãã¾ãã
let i = 0;
while (i <= 3) {
console.log(i);
i++;
}
åæåãããã¯ã®åå¥ã®å®£è¨
åæåãããã¯å ã§å¤æ°ã宣è¨ããå ´åãä¸ä½ã®ã¹ã³ã¼ãã§å®£è¨ããå ´åã¨ç°ãªãç¹ããããç¹ã«ã«ã¼ãæ¬ä½å ã§ã¯ãã¼ã¸ã£ã使ããå ´åã¯éè¦ã§ããä¾ãã°ãä¸è¨ã®ã³ã¼ããè¦ã¦ãã ããã
for (let i = 0; i < 3; i++) {
setTimeout(() => {
console.log(i);
}, 1000);
}
æå¾
éãã0
ã1
ã2
ã¨ãã°åºåãã¾ãããããããã®å¤æ°ãä¸ä½ã¹ã³ã¼ãã§å®ç¾©ããã¦ããå ´åã¯ã
let i = 0;
for (; i < 3; i++) {
setTimeout(() => {
console.log(i);
}, 1000);
}
3
ã3
ã3
ã¨ãã°åºåãã¾ãããªããã¨è¨ãã¨ãããããã® setTimeout
ã i
夿°ãéããæ°ããã¯ãã¼ã¸ã£ã使ãã¾ãããi
ãã«ã¼ãæ¬ä½ã®ã¹ã³ã¼ãã§ãªãå ´åããã¹ã¦ã®ã¯ãã¼ã¸ã£ã¯æçµçã«å¼ã³åºãããã¨ãã«åã夿°ãåç
§ãã¾ãããã㦠setTimeout
ã®éåæã§ããããããã§ã«ã«ã¼ããçµäºããå¾ã«å®è¡ããããã¹ã¦ã®ãã¥ã¼ã®ã³ã¼ã«ããã¯æ¬ä½ã® i
㯠3
ã¨ããå¤ã«ãªãã¾ãã
ããã¯ãåæåã« var
æã使ç¨ããå ´åã«ãèµ·ããã¾ããvar
ã§å®£è¨ããã夿°ã¯é¢æ°ã¹ã³ã¼ãã®ã¿ã§ãã¬ãã·ã«ã«ã¹ã³ã¼ãã«ãªããªãï¼ã¤ã¾ããã«ã¼ãæ¬ä½ã®ã¹ã³ã¼ãã«ãããã¨ã¯ã§ããªãï¼ããã§ãã
for (var i = 0; i < 3; i++) {
setTimeout(() => {
console.log(i);
}, 1000);
}
// 3, 3, 3 ã¨ãã°åºå
åæåãããã¯ã®ã¹ã³ã¼ã广ã¯ã宣è¨ãã«ã¼ãæ¬ä½ã®ä¸ã§è¡ããããã¾ãã¾ condition
㨠afterthought
ã®é¨åã§ã¢ã¯ã»ã¹å¯è½ã§ãããã®ããã«çè§£ãããã¨ãã§ãã¾ããããæ£ç¢ºã«ã¯ãlet
宣è¨ã¯ for
ã«ã¼ãã«ç¹åããã¾ãããã initialization
ã let
宣è¨ã§ããã°ãã«ã¼ãæ¬ä½ãè©ä¾¡ãããå¾ã以ä¸ã®ãã¨ãæ¯åè¡ããã¾ãã
let
ã宣è¨ããã夿°ã追å ããã¾ããafterthought
ãæ°ããã¹ã³ã¼ãã§è©ä¾¡ããã¾ãããã®ãããafterthought
å
ã§æ°ãã夿°ãå²ãå½ã¦ã¦ããååå復å¦çããã¨ãã®ãã¤ã³ãã£ã³ã°ã«ã¯å½±é¿ãã¾ããã
ã¯ãã¼ã¸ã£ã使ãããã¨ã§ãç¹å®ã®å復å¦çä¸ã®ãã¤ã³ãã£ã³ã°ãåå¾ãããã¨ãã§ãã¾ãããã®ãã¨ãããinitialization
ç¯ã§ä½æããã¯ãã¼ã¸ã£ããafterthought
ç¯ã§ i
ãå代å
¥ãã¦ãæ´æ°ãããªããã¨ããããã¾ãã
for (let i = 0, getI = () => i; i < 3; i++) {
console.log(getI());
}
// Logs 0, 0, 0
ããã¯ãã«ã¼ãæ¬ä½ã®ä¸ã§ getI
ã宣è¨ããå ´åã®ããã« "0, 1, 2" ããã°åºåããããã§ã¯ããã¾ãããããã¯ãgetI
ãå復å¦çãããã³ã«åè©ä¾¡ãããã®ã§ã¯ãªãã颿°ãä¸åº¦ä½æãããï¼ã«ã¼ããæåã«åæåãããã¨ãã«å®£è¨ããã夿°ãåç
§ããï¼å¤æ° i
ãéããããããã§ãããã®å¾ãi
ã®å¤ãæ´æ°ããã¨ãå®éã«ã¯ i
ã¨ããæ°ãã夿°ã使ããã¾ãããgetI
ã¯ãããè¦ããã¨ãã§ãã¾ããããããä¿®æ£ããã«ã¯ãi
ãæ´æ°ããããã³ã« getI
ãåè¨ç®ããããã«ãã¾ãã
for (let i = 0, getI = () => i; i < 3; i++, getI = () => i) {
console.log(getI());
}
// Logs 0, 1, 2
å®éã夿° i
ã®æåã®ãã¤ã³ãã£ã³ã°ããã£ããã£ãã¦ãå¾ã§ãããå²ãå½ã¦ããã¨ãã§ãã¾ãããã®æ´æ°ãããå¤ã¯ãæ¬¡ã®æ°ãã i
ã®ãã¤ã³ãã£ã³ã°ãè¦ãã«ã¼ãæ¬ä½ã«ã¯è¦ãã¾ããã
for (
let i = 0, getI = () => i, incrementI = () => i++;
getI() < 3;
incrementI()
) {
console.log(i);
}
// Logs 0, 0, 0
ãã㯠"0, 0, 0" ã¨ãã°åºåãã¾ãããªããªããåã«ã¼ãè©ä¾¡ã«ããã i
夿°ã¯å®éã«ã¯å¥åã®å¤æ°ã§ãããgetI
㨠incrementI
ã¯ã©ã¡ãã i
ã®åæãã¤ã³ãã£ã³ã°ãèªã¿æ¸ããããã®å¾ã«å®£è¨ããããã®ã«ã¯å¯¾å¿ããªãããã§ãã
以ä¸ã® for
ã®ç¹°ãè¿ãã§ã¯ã final-expression
å¥ã®ä¸ã§ã«ããããã¼ãã®ãªãã»ããä½ç½®ãæ¤ç´¢ãã¦ãã¾ãã statement
ç¯ã使ç¨ããå¿
è¦ããªãå ´åã¯ã代ããã«ã»ãã³ãã³ã使ç¨ãã¦ãã ããã
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
ãè¤æ°åå®è¡ããããã¨ã«ãªãã
ã«ã³ãæ¼ç®åãç¨ãã¦ãfor ã«ã¼ãã§åæã«æ´æ°ããã 2 ã¤ã®ã«ã¦ã³ã¿ã¼ã使ãããã¨ãã§ãã¾ããè¤æ°ã® let
ã var
ã®å®£è¨ãã«ã³ãã§çµåãããã¨ãã§ãã¾ãã
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
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4