for — JavaScript | MDN
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅Β for ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΈΠΊΠ», ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· 3 Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ , ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ.
for ([ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ]; [ΡΡΠ»ΠΎΠ²ΠΈΠ΅]; [ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅])Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
- ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
- ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅Β (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ) ΠΈΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. ΠΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΡΡΠΈΠΊ. ΠΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°Β
var
. ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΈΠΊΠ»Π΅, Ρ.Π΅. Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΡΠΎ ΠΈ ΡΠΈΠΊΠ»Βfor
. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ. - ΡΡΠ»ΠΎΠ²ΠΈΠ΅
- ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π΅ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°. ΠΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ, ΡΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.Β Π£ΡΠ»ΠΎΠ²ΠΈΠ΅Β Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ. ΠΡΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅Ρ, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΡΠΈΡΠ°Π΅ΡΡΡΒ ΠΈΡΡΠΈΠ½ΠΎΠΉ. ΠΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅Β Π»ΠΎΠΆΠ½ΠΎ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΌΡΒ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π·Π°Β
for.
- ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
- ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π΅ΡΡΒ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°.Β ΠΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡΒ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΡΡΡΠΈΠΊΠ°.
- Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
- ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΠΈΡΡΠΈΠ½Π½ΠΎ. Π§ΡΠΎΠ± Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΡΠΈΠΊΠ»Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅Β Π±Π»ΠΎΠΊ (en-US) (
{ ... }
) Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π§ΡΠΎΠ±Ρ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠΈΠΊΠ»Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΡΡΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (;
).
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Β
for
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΊΠ»Β for
Β Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉΒ i
ΠΈ Π·Π°Π΄Π°Π½ΠΈΡ Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡΒ 0
. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΠΎΒ i
Β ΠΌΠ΅Π½ΡΡΠ΅ Π΄Π΅Π²ΡΡΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΒ i
Β Π½Π°Β 1 ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·.
for (var i = 0; i < 9; i++) {
console.log(i);
}
ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΒ Π² Β
for
ΠΡΠ΅ 3 Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠΈΠΊΠ»Π΅Β for
Β Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π±Π»ΠΎΠΊΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅:
var i = 0;
for (; i < 9; i++) {
console.log(i);
}
ΠΠ°ΠΊ ΠΈ Π±Π»ΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π±Π»ΠΎΠΊ ΡΡΠ»ΠΎΠ²ΠΈΡΒ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½. ΠΡΠ»ΠΈ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΠΏΡΠ΅ΡΠ²ΡΡΠ΅ ΡΠΈΠΊΠ» Π³Π΄Π΅-ΡΠΎ Π² ΡΠ΅Π»Π΅, Π° Π½Π΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ».
for (var i = 0;; i++) {
console.log(i);
if (i > 3) break;
}
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π²ΡΠ΅ 3 Π±Π»ΠΎΠΊΠ°. Π‘Π½ΠΎΠ²Π° ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅Β break
, ΡΡΠΎΠ± Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ ΡΠΈΠΊΠ», Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΡΡΠΈΠΊ, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»ΡΒ break Π±ΡΠ»ΠΎ ΠΈΡΡΠΈΠ½Π½ΠΎ Π² Π½ΡΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
var i = 0;
for (;;) {
if (i > 3) break;
console.log(i);
i++;
}
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Β
for
Β Π±Π΅Π· Π±Π»ΠΎΠΊΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉΠ‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΊΠ»Β for
Β Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΠ·Π»Π° Π² ΡΠ΅ΠΊΡΠΈΠΈΒ [ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅], ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠ° (en-US)
,Β ΠΏΡΡΡΠΎΠ΅Β Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ.
function showOffsetPos (sId) { var nLeft = 0, nTop = 0; for (var oItNode = document.getElementById(sId); oItNode; nLeft += oItNode.offsetLeft, nTop += oItNode.offsetTop, oItNode = oItNode.offsetParent) ; console.log("Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° \"" + sId + "\":\n left: " + nLeft + "px;\n top: " + nTop + "px;"); } showOffsetPos("content");
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:Β Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°, ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ ΡΡΠ°Π²ΠΈΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°.
BCD tables only load in the browser
JavaScript Π¦ΠΈΠΊΠ» For. Π£ΡΠΎΠΊΠΈ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ . W3Schools Π½Π° ΡΡΡΡΠΊΠΎΠΌ
Π¦ΠΈΠΊΠ»Ρ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·.
JavaScript Π¦ΠΈΠΊΠ»Ρ
Π¦ΠΈΠΊΠ»Ρ ΡΠ΄ΠΎΠ±Π½Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Ρ Π΄ΡΡΠ³ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
Π§Π°ΡΡΠΎ ΡΠ°ΠΊ Π±ΡΠ²Π°Π΅Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ:
ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ:
text += cars[0] + «<br>»;
text += cars[1] + «<br>»;
text += cars[2] + «<br>»;
text += cars[3] + «<br>»;
text += cars[5] + «<br>»;
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
for (let i = 0; i < cars.length; i++) {
Β Β text += cars[i] + «<br>»;
}
Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΠΈΠΊΠ»ΠΎΠ²
JavaScript ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π·Π½ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΠΈΠΊΠ»ΠΎΠ²:
for
— ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·for/in
— ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°for/of
— ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°while
— ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅do/while
— ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅
Π¦ΠΈΠΊΠ» For
Π¦ΠΈΠΊΠ» for
ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
for (ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ 1; ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ 2; ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ 3) {
Β // Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½
}
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 1 Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ (ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·) ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 2 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 3 Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ (ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·) ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°.
ΠΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ:
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 1 ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΡΠΈΠΊΠ»Π° (let i = 0).
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 2 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΊΠ»Π° (i Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ 5).
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 3 ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (i++) ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π² ΡΠΈΠΊΠ»Π΅.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 1
ΠΠ±ΡΡΠ½ΠΎ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ 1 Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π² ΡΠΈΠΊΠ»Π΅ (let i = 0).
ΠΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΠΊ, JavaScript Π²ΡΡ ΡΠ°Π²Π½ΠΎ. ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 1 Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°.
Π ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ 1 ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΡΡΠΌΠΈ):
Π Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΡΡΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ 1 (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΡΠΈΠΊΠ»Π°):
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 2
Π§Π°ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ 2 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΠΊ, JavaScript Π²ΡΡ ΡΠ°Π²Π½ΠΎ. ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 2 ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°.
ΠΡΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ 2 Π²Π΅ΡΠ½ΡΡ true, ΡΠΈΠΊΠ» Π½Π°ΡΠ½Π΅ΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π²Π΅ΡΠ½ΡΡ false, ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠΈΡΡΡ.
ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΡΡΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ 2, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ±ΡΡΠ² Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΊΠ» Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ. ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΡΠ±ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΡΠΎΡΡΠΈΡΠ΅ ΠΎΠ± ΠΎΠ±ΡΡΠ²Π°Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±Π½ΠΈΠΊΠ° Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅ W3Schools Π½Π° ΡΡΡΡΠΊΠΎΠΌ.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 3
Π§Π°ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ 3 ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΠΊ, JavaScript Π²ΡΡ ΡΠ°Π²Π½ΠΎ, Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ 3 Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 3 ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΠ΅ (i—), ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΠ΅ (i = i + 15) ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π΅ΡΡ.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ 3 ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΡΡΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°):
ΠΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΈΠΊΠ»Π°
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ var
Π² ΡΠΈΠΊΠ»Π΅:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ let
Π² ΡΠΈΠΊΠ»Π΅:
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ var
, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½Π°Ρ Π² ΡΠΈΠΊΠ»Π΅, ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½Π΅ ΡΠΈΠΊΠ»Π°.
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ let
, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½Π°Ρ Π² ΡΠΈΠΊΠ»Π΅, Π½Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½Π΅ ΡΠΈΠΊΠ»Π°.
When let
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i Π² ΡΠΈΠΊΠ»Π΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°. .
Π¦ΠΈΠΊΠ»Ρ For/Of ΠΈ For/In
Π¦ΠΈΠΊΠ» for/in
ΠΈ ΡΠΈΠΊΠ» for/of
ΠΏΠΎΡΡΠ½ΡΡΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅.
Π¦ΠΈΠΊΠ»Ρ While
Π¦ΠΈΠΊΠ»Ρ while
ΠΈ do/while
ΠΏΠΎΡΡΠ½ΡΡΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π³Π»Π°Π²Π°Ρ
.
Π¦ΠΈΠΊΠ»Ρ Π² JavaScript ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ
Π ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΠ΅Π±Π½ΠΈΠΊΠ° ΡΠ°Π·Π±Π΅ΡΡΠΌ ΡΠΈΠΊΠ»Ρ Π² JavaScript, ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ ΡΠΈΠΊΠ»Ρ Π² JavaScript:
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π·Π±Π΅ΡΡΠΌ, Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ ΠΈ Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΈΠΊΠ»Ρ Π² JavaScript, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠ°ΠΊΡΡ Π½ΠΈΠ±ΡΠ΄Ρ Π·Π°Π΄Π°ΡΡ ΠΈ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄.
Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π½Π°ΠΉΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π¦ΠΈΠΊΠ»Ρ Π² JS:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΡΠ°ΠΌΠΈ ΡΠΈΠΊΠ»Ρ, Π²ΡΠ΅Π³ΠΎ ΠΈΡ ΡΡΠΈ, while, do while ΠΈ for.
Π¦ΠΈΠΊΠ» while Π² JS:
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π½Π΅ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠ΄, Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°.
let i = 0; // Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π΅ΠΉ Π½ΠΎΠ»Ρ // ΠΠΈΡΠ΅ΠΌ ΡΠΈΠΊΠ» while while (i < 10) { Β Β Β Β console.log(i); // ΠΡΠ²ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i Β Β Β Β i++; // Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i Π½Π° ΠΎΠ΄ΠΈΠ½ } |
ΠΠΎΠ΄ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ Π±ΠΎΠ»ΡΡΠΎΠΉ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π΅Π³ΠΎ ΡΠ°Π·Π±Π΅ΡΡΠΌ, Π² Π½Π°ΡΠ°Π»Π΅ ΠΌΡ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i
ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π΅ΠΉ Π½ΠΎΠ»Ρ, Π² ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° Ρ Π½Π°Ρ i < 10
, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠΊΠ° i
ΡΡΡΠΎΠ³Π° ΠΌΠ΅Π½ΡΡΠ΅ 10.
ΠΠ½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°, Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i
, Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΡΠΊΠΈ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ Π΅Ρ, Π²ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΌ ΠΏΠ»ΠΎΡ ΠΎ Π²ΠΈΠ΄Π½ΠΎ, Π½ΠΎ Π²ΡΠ²Π΅Π»ΠΎΡΡ ΠΎΡ Π½ΡΠ»Ρ, Π΄ΠΎ Π΄Π΅Π²ΡΡΠΈ.
Π¦ΠΈΠΊΠ» do while Π² JS:
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ do while, ΠΎΡ while, Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠΈΠΊΠ»Π°, ΠΈΠ΄ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΠΎΠ½ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΡΠΎΠΉΠ΄ΡΡΡΡ, Π²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ.
let i = 0; // Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π΅ΠΉ Π½ΠΎΠ»Ρ // ΠΠΈΡΠ΅ΠΌ ΡΠΈΠΊΠ» do while, Π² Π½Π°ΡΠ°Π»Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΈΡΠ΅ΠΌ do do { Β Β Β Β console.log(i); // ΠΡΠ²ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i Β Β Β Β i++; // Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i Π½Π° ΠΎΠ΄ΠΈΠ½ } while (i < 10); // Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΈΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π° |
ΠΠΎΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄, Π½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΅Π΄ΠΊΠ°, Ρ Π΅Π³ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π² ΡΠ°Π±ΠΎΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ.
Π¦ΠΈΠΊΠ» for Π² JS:
ΠΡΠΎ ΠΏΠΎΠΆΠ°Π»ΡΠΉ ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΡΠΈΠΊΠ» ΠΈΠ· Π²ΡΠ΅Ρ ΡΡΠΎ Π΅ΡΡΡ Π² JavaScript,Β ΠΈ Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄ ΠΎΠ½ ΡΠ°ΠΌΡΠΉ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ.
// ΠΠΈΡΠ΅ΠΌ ΡΠΈΠΊΠ» for for (let i = 0; i < 10; i++) { Β Β Β Β console.log(i); // ΠΡΠ²ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i } |
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΡΡΠΎΡ ΠΊΠΎΠ΄, Π² Π½Π°ΡΠ°Π»Π΅ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i, ΠΏΠΎΡΠ»Π΅ ΡΠΎΡΠΊΠΈ Π·Π°ΠΏΡΡΠΎΠΉ ΠΏΠΈΡΠ΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΈΠΊΠ», ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΡΠΎ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π²Π½ΡΡΡΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠΎΡ ΡΠΈΠΊΠ», ΠΏΠΎ ΡΡΡΠΈ Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» while, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ½ ΠΊΡΠ΄Π° ΡΠ°ΡΠ΅.
Π’Π°ΠΊΠΆΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ Π΄Π΅ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½Π°Π·Π½Π°ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
JavaScript Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠΈΠΊΠ»Π°:
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΡΠΎ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ, ΡΡΠΎ Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ Π½Π°ΡΠ°Π»Π° Π½ΠΎΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π±ΡΠ΄Π΅ΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ continue ΠΈ break.
Continue Π² JS:
Continue ΠΏΠΎ ΡΡΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΈΠΊΠ»Π° Π² ΡΠ°ΠΌΠΎΠ΅ Π½Π°ΡΠ°Π»Π°, ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π½ΠΎΠ²ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ, Π²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ.
// ΠΠΈΡΠ΅ΠΌ ΡΠΈΠΊΠ» for for (let i = 0; i < 10; i++) { Β Β Β Β // Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ Β Β Β Β if (i == 2) { Β Β Β Β Β Β Β Β // Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ Β Β Β Β Β Β Β Β continue; Β Β Β Β } Β Β Β Β console.log(i); // ΠΡΠ²ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i } |
ΠΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠΈΠΊΠ» for, ΠΊΠ°ΠΊ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π½ΠΎ ΡΡΡ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² Π½Π°ΡΠ°Π»Π° ΡΠΈΠΊΠ»Π° ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½ΠΎΠ²ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ, Π²ΠΎΡ ΡΡΠΎ Π²ΡΠ²Π΅Π»ΠΎΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅ Ρ Π½Π°Ρ Π½Π΅Ρ Π΄Π²ΠΎΠΉΠΊΠΈ, ΡΡΠΎ Π²ΡΡ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° i ΡΠ°Π²Π½Π° 2, ΡΠΎ Π²Π΅ΡΠ½ΡΡΡΡ Π² Π½Π°ΡΠ°Π»Π° ΡΠΈΠΊΠ»Π° ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈΠ΄ΡΡ Π΄ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
Break Π² JS:
Break ΠΏΠΎΡ ΠΎΠΆ Π½Π° continue, Π½ΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΈΠΊΠ»Π°, Π²ΠΎΡ Π½Π΅ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠ΄.
// ΠΠΈΡΠ΅ΠΌ ΡΠΈΠΊΠ» for for (let i = 0; i < 10; i++) { Β Β Β Β // Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² ΠΊΠΎΠ½Π΅Ρ Β Β Β Β if (i == 2) { Β Β Β Β Β Β Β Β // Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π² ΠΊΠΎΠ½Π΅Ρ Β Β Β Β Β Β Β Β break; Β Β Β Β } Β Β Β Β console.log(i); // ΠΡΠ²ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i } |
Π’ΡΡ Π²ΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅ continue, Π° break, Π²ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ²Π΅Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΡΠΈΡΠ»Π°, Π΄Π²ΠΎΠΉΠΊΠ° ΠΈ Π²ΡΡ ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ Π΄Π²ΠΎΠΉΠΊΠΈ Π½Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ Π²ΡΡΠ»ΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i ΡΡΠ°Π»Π° ΡΠ°Π²Π½Π° Π΄Π²ΡΠΌ.
Π’ΡΡ ΡΡΠΎΠΈΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π° Π½Π΅Ρ Π² break, Ρ Π΄ΡΠΌΠ°Ρ ΡΡΠΎ Π»ΡΡΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΠΊΠ»Π°.
ΠΡΠ²ΠΎΠ΄:
Π ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΠ΅Π±Π½ΠΈΠΊΠ° Π²Ρ ΠΏΡΠΎΡΠΈΡΠ°Π»ΠΈ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠΊΠ»Ρ Π² JavaScript ΠΈ Π±ΡΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΡΡ Π±ΡΠ»ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ ΡΡΠΎ ΡΡΠΎΠΈΡ Π·Π½Π°ΡΡ ΠΏΡΠΎ Π½ΠΈΡ .ΡΠΈΠΊΠ»Ρ Π² javascript ΠΏΡΠΈΠΌΠ΅ΡΡ
ΠΠΎΠ΄ΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ΡΡ Π½Π° ΡΠΎΡ-ΡΠ΅ΡΠΈ:
ΠΡΠ΅Π½ΠΊΠ°:
(ΠΠΎΠΊΠ° ΠΎΡΠ΅Π½ΠΎΠΊ Π½Π΅Ρ)
ΠΠ°Π³ΡΡΠ·ΠΊΠ°…ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡ:
ΠΠΎΠΊΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Π½Π΅ΡΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ:
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΒ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» β React
ΠΠ°Β ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΠΎΠ½ΡΡΠΈΡ Β«ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅Β» (state) ΠΈΒ Β«ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ»Β» (lifecycle) React-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ API ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΒ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅.
ΠΒ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΠ΄ΡΡΠΈΠ΅ ΡΠ°ΡΡ ΠΈΠ·Β ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°. ΠΒ Π³Π»Π°Π²Π΅ Π Π΅Π½Π΄Π΅ΡΠΈΠ½Π³ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΡΒ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ UI ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌΒ β Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ReactDOM.render()
:
function tick() {
const element = (
<div>
<h2>ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!</h2>
<h3>Π‘Π΅ΠΉΡΠ°Ρ {new Date().toLocaleTimeString()}.</h3>
</div>
);
ReactDOM.render( element, document.getElementById('root') );}
setInterval(tick, 1000);
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π°Β CodePen
ΠΒ ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡΒ ΡΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΒ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Clock
. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΈΒ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΡΠ°Π· Π²Β ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, ΠΈΠ·Π²Π»Π΅ΡΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ Π²ΡΠ΅ΠΌΡ:
function Clock(props) { return ( <div> <h2>ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!</h2> <h3>Π‘Π΅ΠΉΡΠ°Ρ {props.date.toLocaleTimeString()}.</h3> </div> ); } function tick() { ReactDOM.render( <Clock date={new Date()} />, document.getElementById('root') ); } setInterval(tick, 1000);
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π°Β CodePen
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π²Β ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Clock
Π½Π΅Β ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠ΅Π±Ρ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. Π₯ΠΎΡΠ΅Π»ΠΎΡΡΒ Π±Ρ ΡΠΏΡΡΡΠ°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ, ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ, Π²Π½ΡΡΡΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Clock
.
ΠΒ ΠΈΠ΄Π΅Π°Π»Π΅ ΠΌΡΒ Π±Ρ Ρ
ΠΎΡΠ΅Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Clock
ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ°ΠΌ ΡΠ΅Π±Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»:
ReactDOM.render(
<Clock />, document.getElementById('root')
);
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ Β«ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅Β» (state) Π²Β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Clock
.
Β«Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅Β» ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π°Β ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΠ΅ Π½Π°ΠΌ ΠΏΡΠΎΠΏΡΡ, ΠΎΡΠ»ΠΈΡΠΈΠ΅ Π²Β ΡΠΎΠΌ, ΡΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈΒ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π²Β ΠΊΠ»Π°ΡΡΠΎΠ²ΡΠΉ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Clock
- Π‘ΠΎΠ·Π΄Π°ΡΠΌ ES6-ΠΊΠ»Π°ΡΡ ΡΒ ΡΠ°ΠΊΠΈΠΌΒ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ
React.Component
Π²Β ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° - ΠΠΎΠ±Π°Π²ΠΈΠΌ Π²Β ΠΊΠ»Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄
render()
- ΠΠ΅ΡΠ΅Π½Π΅ΡΡΠΌ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Β ΠΌΠ΅ΡΠΎΠ΄
render()
- ΠΠ°ΠΌΠ΅Π½ΠΈΠΌ
props
Π½Π°Βthis.props
Π²Β ΡΠ΅Π»Π΅render()
- Π£Π΄Π°Π»ΠΈΠΌ ΠΎΡΡΠ°Π²ΡΠ΅Π΅ΡΡ ΠΏΡΡΡΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
class Clock extends React.Component {
render() {
return (
<div>
<h2>ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!</h2>
<h3>Π‘Π΅ΠΉΡΠ°Ρ {this.props.date.toLocaleTimeString()}.</h3>
</div>
);
}
}
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π°Β CodePen
Π’Π΅ΠΏΠ΅ΡΡ Clock
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ ΠΊΠ°ΠΊ ΠΊΠ»Π°ΡΡ, Π°Β Π½Π΅Β ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠ΅ΡΠΎΠ΄ render
Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡΒ ΡΠ΅Π½Π΄Π΅ΡΠΈΠΌ <Clock />
Π²Β ΠΎΠ΄ΠΈΠ½ ΠΈΒ ΡΠΎΡΒ ΠΆΠ΅ DOM-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΌΡΒ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°
Β β ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡΒ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΒ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°.
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Β ΠΊΠ»Π°ΡΡ
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠΌ date
ΠΈΠ·Β ΠΏΡΠΎΠΏΡΠΎΠ² Π²Β ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Β ΡΡΠΈ ΡΡΠ°ΠΏΠ°:
- ΠΠ°ΠΌΠ΅Π½ΠΈΠΌ
this.props.date
Π½Π°Βthis.state.date
Π²Β ΠΌΠ΅ΡΠΎΠ΄Π΅render()
:
class Clock extends React.Component {
render() {
return (
<div>
<h2>ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!</h2>
<h3>Π‘Π΅ΠΉΡΠ°Ρ {this.state.date.toLocaleTimeString()}.</h3> </div>
);
}
}
- ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ°, Π²Β ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΊΠ°ΠΆΠ΅ΠΌ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
this.state
:
class Clock extends React.Component {
constructor(props) {
super(props);
this.state = {date: new Date()}; }
render() {
return (
<div>
<h2>ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!</h2>
<h3>Π‘Π΅ΠΉΡΠ°Ρ {this.state.date.toLocaleTimeString()}.</h3>
</div>
);
}
}
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡΒ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌ props
Π±Π°Π·ΠΎΠ²ΠΎΠΌΡ (ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ) ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ:
constructor(props) {
super(props); this.state = {date: new Date()};
}
ΠΠ»Π°ΡΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΒ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ props
.
- Π£Π΄Π°Π»ΠΈΠΌ ΠΏΡΠΎΠΏ
date
ΠΈΠ·Β ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°<Clock />
:
ReactDOM.render(
<Clock />, document.getElementById('root')
);
ΠΠΎΠ·ΠΆΠ΅ ΠΌΡΒ Π²Π΅ΡΠ½ΡΠΌ ΠΊΠΎΠ΄ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈΒ Π½Π°Β ΡΡΠΎΡ ΡΠ°Π· ΠΏΠΎΠΌΠ΅ΡΡΠΈΠΌ Π΅Π³ΠΎ Π²Β ΡΠ°ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
class Clock extends React.Component {
constructor(props) { super(props); this.state = {date: new Date()}; }
render() {
return (
<div>
<h2>ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!</h2>
<h3>Π‘Π΅ΠΉΡΠ°Ρ {this.state.date.toLocaleTimeString()}.</h3> </div>
);
}
}
ReactDOM.render(
<Clock />, document.getElementById('root')
);
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π°Β CodePen
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ Π²Π½ΡΡΡΠΈ Clock
ΠΈΒ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π²Β ΠΊΠ»Π°ΡΡ
ΠΒ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΡΠΎΒ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ΄Π°Π»ΡΡΡΡΡ.
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π²Β DOM Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Β» (mounting). ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΊΠΎΠ³Π΄Π° DOM-ΡΠ·Π΅Π», ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ, ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Β«ΡΠ°Π·ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Β» (unmounting). Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΌΡΒ Π±ΡΠ΄Π΅ΠΌ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Β«ΡΠ°Π·ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈΒ».
ΠΠ±ΡΡΠ²ΠΈΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΡΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΒ ΡΠ°Π·ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ:
class Clock extends React.Component {
constructor(props) {
super(props);
this.state = {date: new Date()};
}
componentDidMount() { }
componentWillUnmount() { }
render() {
return (
<div>
<h2>ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!</h2>
<h3>Π‘Π΅ΠΉΡΠ°Ρ {this.state.date.toLocaleTimeString()}.</h3>
</div>
);
}
}
ΠΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Β«ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°Β» (lifecycle methods).
ΠΠ΅ΡΠΎΠ΄ componentDidMount()
Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΡΡΠ΅Π½Π΄Π΅ΡΠΈΠ»ΡΡ Π²Β DOMΒ β Π·Π΄Π΅ΡΡ ΠΌΡΒ ΠΈΒ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΡΠ°ΠΉΠΌΠ΅Ρ:
componentDidMount() {
this.timerID = setInterval( () => this.tick(), 1000 ); }
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡΒ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ ID ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π²Β this
(this.timerID
).
ΠΠΎΠ»Ρ this.props
ΠΈΒ this.state
Π²Β ΠΊΠ»Π°ΡΡΠ°Ρ
Β β ΠΎΡΠΎΠ±Π΅Π½Π½ΡΠ΅, ΠΈΒ ΠΈΡ
Β ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΌ React. ΠΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΡΠ½ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½ΡΠΆΠ½ΠΎ Ρ
ΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ID ΡΠ°ΠΉΠΌΠ΅ΡΠ°).
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠ±ΡΠΎΡΠΈΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ Π²Β ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° componentWillUnmount()
:
componentWillUnmount() {
clearInterval(this.timerID); }
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ tick()
. ΠΠ½Β Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΈΒ Π²ΡΠ·ΡΠ²Π°Π΅Ρ this.setState()
.
this.setState()
ΠΏΠ»Π°Π½ΠΈΡΡΠ΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°:
class Clock extends React.Component {
constructor(props) {
super(props);
this.state = {date: new Date()};
}
componentDidMount() {
this.timerID = setInterval(
() => this.tick(),
1000
);
}
componentWillUnmount() {
clearInterval(this.timerID);
}
tick() { this.setState({ date: new Date() }); }
render() {
return (
<div>
<h2>ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!</h2>
<h3>Π‘Π΅ΠΉΡΠ°Ρ {this.state.date.toLocaleTimeString()}.</h3>
</div>
);
}
}
ReactDOM.render(
<Clock />,
document.getElementById('root')
);
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π°Β CodePen
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΒ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, Π²Β ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ:
- ΠΠΎΠ³Π΄Π° ΠΌΡΒ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌ
<Clock />
Π²ΒReactDOM.render()
, React Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.Clock
Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡΒ Π·Π°Π΄Π°ΡΠΌ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅this.state
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΒ ΡΠ΅ΠΊΡΡΠΈΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ. - React Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄
render()
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Clock
. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ React ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π½Π°Β ΡΠΊΡΠ°Π½Π΅. ΠΠ°Π»Π΅Π΅ React ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ DOM ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½Β ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π» Π²ΡΠ²ΠΎΠ΄Ρ ΡΠ΅Π½Π΄Π΅ΡΠ°Clock
. - ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ²ΠΎΠ΄ ΡΠ΅Π½Π΄Π΅ΡΠ°
Clock
Π²ΡΡΠ°Π²Π»Π΅Π½ Π²Β DOM, React Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°componentDidMount()
. ΠΠ½ΡΡΡΠΈ Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡClock
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡtick()
ΡΠ°Π· Π²Β ΡΠ΅ΠΊΡΠ½Π΄Ρ. - Π’Π°ΠΉΠΌΠ΅Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ
tick()
Π΅ΠΆΠ΅ΡΠ΅ΠΊΡΠ½Π΄Π½ΠΎ. ΠΠ½ΡΡΡΠΈtick()
ΠΌΡΒ ΠΏΡΠΎΡΠΈΠΌ React ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, Π²ΡΠ·ΡΠ²Π°ΡsetState()
ΡΒ ΡΠ΅ΠΊΡΡΠΈΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ. React ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π°Β ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΒ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρrender()
. ΠΠ°Β ΡΡΠΎΡ ΡΠ°Π·this.state.date
Π²Β ΠΌΠ΅ΡΠΎΠ΄Π΅render()
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ React Π·Π°ΠΌΠ΅Π½ΠΈΡ DOM. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡClock
ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ UI. - ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ
Clock
ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΡΠ΄Π°Π»ΠΈΡΡΡ ΠΈΠ·Β DOM, React Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°componentWillUnmount()
ΠΈΒ ΡΠ±ΡΠΎΡΠΈΡ ΡΠ°ΠΉΠΌΠ΅Ρ.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅
ΠΠ°ΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΡΡΠΈ Π΄Π΅ΡΠ°Π»ΠΈ ΠΎΒ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ setState()
.
ΠΠ΅Β ΠΈΠ·ΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ
ΠΒ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π½Π΄Π΅ΡΠ° Π½Π΅Β ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ:
this.state.comment = 'ΠΡΠΈΠ²Π΅Ρ';
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ setState()
:
this.setState({comment: 'ΠΡΠΈΠ²Π΅Ρ'});
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΒ β ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ this.state
Π½Π°ΠΏΡΡΠΌΡΡ.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΌΠΈ
React ΠΌΠΎΠΆΠ΅Ρ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² setState()
Π²Β ΠΎΠ΄Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ this.props
ΠΈΒ this.state
ΠΌΠΎΠ³ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ, Π²ΡΒ Π½Π΅Β Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π°Β ΠΈΡ
Β ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅Β ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΡΡΡΡΠΈΠΊ:
this.setState({
counter: this.state.counter + this.props.increment,
});
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π²ΡΠ·ΠΎΠ²Π° setState()
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π°Β Π½Π΅Β ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Β ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈΒ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΏΡΠΎΠ² Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΠΎΒ Π²ΡΠ΅ΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²Β ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:
this.setState((state, props) => ({
counter: state.counter + props.increment
}));
ΠΒ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡΒ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΡΠ΅Π»ΠΎΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎΒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΒ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
this.setState(function(state, props) {
return {
counter: state.counter + props.increment
};
});
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ
ΠΠΎΠ³Π΄Π° ΠΌΡΒ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ setState()
, React ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ (Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅) c ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ·Β Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΏΠΎΠ»Π΅ΠΉ:
constructor(props) {
super(props);
this.state = {
posts: [], comments: [] };
}
ΠΡ
Β ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΠΎΒ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ² setState()
:
componentDidMount() {
fetchPosts().then(response => {
this.setState({
posts: response.posts });
});
fetchComments().then(response => {
this.setState({
comments: response.comments });
});
}
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ
Π½ΠΎΡΡΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ·ΠΎΠ² this.setState({comments})
ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ this.state.posts
Π½Π΅ΡΡΠΎΠ½ΡΡΡΠΌ, Π½ΠΎΒ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ this.state.comments
.
ΠΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ
ΠΒ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½ΠΈΒ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ, Π½ΠΈΒ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π΅Β Π·Π½Π°ΡΡ, Π·Π°Π΄Π°Π½ΠΎΒ Π»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. Π’Π°ΠΊΠΆΠ΅ Π½Π΅Β Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΒ β ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ°.
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Β«Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΒ», Β«Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΒ» ΠΈΠ»ΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ. ΠΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΒ ΡΠΊΡΡΡΠΎ ΠΎΡΒ Π΄ΡΡΠ³ΠΈΡ .
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ²ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Π½ΠΈΠ· ΠΏΠΎΒ Π΄Π΅ΡΠ΅Π²Ρ Π²Β Π²ΠΈΠ΄Π΅ ΠΏΡΠΎΠΏΡΠΎΠ² Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²:
<FormattedDate date={this.state.date} />
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ FormattedDate
ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ date
ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠΏΡΡ, Π½ΠΎΒ ΠΎΠ½Β Π½Π΅Β Π·Π½Π°Π΅Ρ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ΠΈ Π²Π·ΡΠ»ΠΈΡΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎΒ β ΠΈΠ·Β ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Clock
, ΠΏΡΠΎΠΏΡΠΎΠ² Clock
ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ JavaScript-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ:
function FormattedDate(props) {
return <h3>Π‘Π΅ΠΉΡΠ°Ρ {props.date.toLocaleTimeString()}.</h3>;
}
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π°Β CodePen
ΠΡΠΎ, Π²Β ΠΎΠ±ΡΠ΅ΠΌ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«Π½ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠΌΒ» (Β«top-downΒ») ΠΈΠ»ΠΈ Β«ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΒ» (Β«unidirectionalΒ») ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½ΡΡ . Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π°Β Π»ΡΠ±ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π²Π»ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Β«Π½ΠΈΠΆΠ΅Β» Π²Β Π΄Π΅ΡΠ΅Π²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ΠΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΊΠ°ΠΊ Π²ΠΎΠ΄ΠΎΠΏΠ°Π΄ ΠΏΡΠΎΠΏΡΠΎΠ², ΡΠΎΒ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π°Β Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»ΠΈΠ²Π°Π΅ΡΡΡ ΡΒ Π²ΠΎΠ΄ΠΎΠΏΠ°Π΄ΠΎΠΌ Π²Β ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅, Π½ΠΎΒ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΡΡ Π²Π½ΠΈΠ·.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Ρ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ App
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΡ ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° <Clock>
:
function App() {
return (
<div>
<Clock /> <Clock /> <Clock /> </div>
);
}
ReactDOM.render(
<App />,
document.getElementById('root')
);
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π°Β CodePen
Π£Β ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Clock
Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡΒ Π΄ΡΡΠ³ΠΈΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ΠΒ React-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , ΠΈΠΌΠ΅Π΅ΡΒ Π»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅ΡΒ β ΡΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ Π΄Π΅ΡΠ°Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΎΒ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±Π΅Π· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²Β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ ΡΒ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ, ΠΈΒ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ Node.js
ΠΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅
ΠΠ¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ— ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ Π²Π°ΠΆΠ½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΎ Node.
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΡΠ°ΠΊ Π²Π°ΠΆΠ½ΠΎ? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ, ΠΊΠ°ΠΊ Node ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΌ ΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ Β«ΡΠ±ΠΈΠΉΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β» Node, ΡΠΎ, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΎ Π΅Π³ΠΎ ΡΠ°ΠΊΠΈΠΌ ΡΡΠΏΠ΅ΡΠ½ΡΠΌ.
ΠΠΎΠ΄ JavaScript Π΄Π»Ρ Node.js Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅. ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅.
ΠΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΡΡΡ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°.
ΠΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈΠ»ΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΠ΅ΡΠ»ΠΈ.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΡΠΈΠΊΠ»Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΡΠΆΠ΅Π»ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ, ΡΡΠΎΠ±Ρ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ Π²Π°Ρ Π±ΡΠ°ΡΠ·Π΅Ρ.
Π‘ΡΠ΅Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΊΠ»Π°ΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² API.ΠΠ΅Π±-Π²ΠΎΡΠΊΠ΅ΡΡΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΡΠΎΠ±ΡΡΠΈΠΉ.
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎΠ²Π°Ρ ΠΊΠΎΠ΄Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΠΈΠΊΠ»Π° ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΡΠ±ΠΎΠΉ ΠΊΠΎΠ΄ JavaScript, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, Π±ΡΠ΄Π΅Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° JavaScript Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅, Π΄Π°ΠΆΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π»ΠΊΠ°ΡΡ ΠΌΡΡΡΡ, ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ Ρ. Π.
ΠΠΎΡΡΠΈ Π²ΡΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π² JavaScript Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠ΅. Π‘Π΅ΡΠ΅Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ Ρ. Π. ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° — ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ JavaScript ΡΠ°ΠΊ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²Π°Ρ , Π° Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π°ΠΎΠ±Π΅ΡΠ°Π½ΠΈΡΠΈΠ°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ / ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅.
Π‘ΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ²
Π‘ΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄Ρ LIFO (Last In, First Out).
Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ²ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, Π½ΡΠΆΠ½ΠΎ Π»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΉ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
ΠΡ Π·Π½Π°Π΅ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅ΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π½Π°ΠΊΠΎΠΌΡ, Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°? ΠΡΠ°ΡΠ·Π΅Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΈΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ Π²ΡΠ·ΠΎΠ²:
ΠΡΠΎΡΡΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ:
Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ
foo
,bar
ΠΈbaz
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°. ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π»ΡΠ±ΠΎΠ΅ ΠΈΠΌΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ .
const bar = () => console.log('bar')
const baz = () => console.log(βbazβ)
const foo = () => {
console.log(βfooβ)
bar()
baz()
}
foo()
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ
ΠΊΠ°ΠΊ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ.
ΠΠΎΠ³Π΄Π° ΡΡΠΎΡ ΠΊΠΎΠ΄ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΡΠ½Π°ΡΠ°Π»Π°foo()
Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ. ΠΠ½ΡΡΡΠΈfoo()
ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° Π·Π²ΠΎΠ½ΠΈΠΌbar()
, Π·Π°ΡΠ΅ΠΌ ΠΌΡ Π·Π²ΠΎΠ½ΠΈΠΌbaz()
.
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π΅ΡΡΡ Π»ΠΈ ΡΡΠΎ-ΡΠΎ Π² ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠΎ:
ΠΏΠΎΠΊΠ° ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΏΡΡΡΡΠΌ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π² Π½Π΅ΠΌ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠ³ΠΎ: JavaScript Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π²Π΅ΡΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΡΠ»ΠΎΠΆΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ΅ΠΊ Π½Π΅ ΠΎΡΠΈΡΡΠΈΡΡΡ.
ΠΠ°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡsetTimeout(() => {}), 0)
Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅.
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
const bar = () => console.log('bar')
const baz = () => console.log(βbazβ)
const foo = () => {
console.log(βfooβ)
setTimeout(bar, 0)
baz()
}
foo()
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ:
ΠΠΎΠ³Π΄Π° ΡΡΠΎΡ ΠΊΠΎΠ΄ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ foo (). ΠΠ½ΡΡΡΠΈ foo () ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ setTimeout, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρbar
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΈ ΠΌΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ 0 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ baz ().
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΠΎΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅:
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ?
ΠΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
ΠΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ setTimeout (), Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈΠ»ΠΈ Node.js Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΠ°ΠΉΠΌΠ΅Ρ. ΠΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ 0 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΉΠΌ-Π°ΡΡΠ°, ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π²ΠΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
Π ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ΅Π»ΡΠΊΠ° ΠΈΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΈΠ»ΠΈΠΏΡΠΈΠ½Π΅ΡΡΠΈΠΎΡΠ²Π΅ΡΡ ΡΡΠ°Π²ΡΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π°Ρ ΠΊΠΎΠ΄ ΡΠΌΠΎΠΆΠ΅Ρ Π½Π° Π½ΠΈΡ
ΠΎΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ»ΠΈ ΡΠ°ΠΊΠΆΠ΅ΠΠΠΡΠ°ΠΊΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, ΠΊΠ°ΠΊonLoad
.
Π¦ΠΈΠΊΠ» ΠΎΡΠ΄Π°Π΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΡΠ΅ΠΊΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΈ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠ½ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π² ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π° ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅Ρ, ΠΎΠ½ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΠ΄Π±ΠΎΡΡ Π²Π΅ΡΠ΅ΠΉ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΆΠ΄Π°ΡΡ ΡΠ°ΠΊΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠ°ΠΊsetTimeout
, fetch ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ ΠΈ ΠΆΠΈΠ²ΡΡ Π² ΡΠ²ΠΎΠΈΡ
ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΏΠΎΡΠΎΠΊΠ°Ρ
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅setTimeout
ΡΠ°ΠΉΠΌ-Π°ΡΡ Π΄ΠΎ 2 ΡΠ΅ΠΊΡΠ½Π΄, Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΆΠ΄Π°ΡΡ 2 ΡΠ΅ΠΊΡΠ½Π΄Ρ — ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
ΠΡΠ΅ΡΠ΅Π΄Ρ Π·Π°Π΄Π°Π½ΠΈΠΉ ES6
ECMAScript 2015ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Promises (ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ Π² ES6 / ES2015). ΠΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ΠΠ±Π΅ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Ρ ΠΏΠΎΠ΅Π·Π΄ΠΊΠΎΠΉ Π½Π° Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΡ Π³ΠΎΡΠΊΠ°Ρ Π² ΠΏΠ°ΡΠΊΠ΅ ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΉ: ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π²Π°Ρ Π² ΠΊΠΎΠ½Π΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, ΠΏΠΎΠ·Π°Π΄ΠΈ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π»ΡΠ΄Π΅ΠΉ, Π³Π΄Π΅ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΆΠ΄Π°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, Π° ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π°Π΄Π°Π½ΠΈΠΉ — ΡΡΠΎ Π±ΠΈΠ»Π΅Ρ Fastpass ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΏΠΎΠ΅Π·Π΄ΠΊΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ:
const bar = () => console.log('bar')
const baz = () => console.log(βbazβ)
const foo = () => {
console.log(βfooβ)
setTimeout(bar, 0)
new Promise((resolve, reject) =>
resolve(βshould be right after baz, before barβ)
).then(resolve => console.log(resolve))
baz()
}
foo()
ΠΡΠΎ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ
foo
baz
should be right after baz, before bar
bar
Π ΡΡΠΎΠΌ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Promises (ΠΈ Async / await, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° ΠΎΠ±Π΅ΡΠ°Π½ΠΈΡΡ
) ΠΈ ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΡΠ°ΡΡΠΌΠΈ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΡΠ΅ΡΠ΅Π·setTimeout()
ΠΈΠ»ΠΈ API Π΄ΡΡΠ³ΠΈΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
ΠΡΠ²ΠΎΠ΄
ΠΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»Π° Π²Π°Ρ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΡΠΈΠΊΠ»Π° ΡΠΎΠ±ΡΡΠΈΠΉ Node.js.
ΠΡΠΎ Π²Π°ΠΆΠ½Π°Ρ ΡΠ°ΡΡΡ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π½Π° Node.js, ΠΈ Ρ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π·Π΄Π΅ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π²Π°ΠΌ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ ΡΠ·Π»Π°ΠΌ:
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌ ΠΈ ΠΊΠΎΠ΄Ρ
ΠΠ° ΡΡΠ΅Π½ΠΈΠ΅ 12 ΠΌΠΈΠ½ ΠΡΠΎΡΠΌΠΎΡΡΠΎΠ² 58 ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ
ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΡΡΡ Π½Π°Β Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½Π°. Π’Π°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΈΒ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄ΡΠΎΠΆΡ Π΄Π°ΠΆΠ΅ ΡΒ ΡΠ°ΠΌΡΡ ΠΎΠΏΡΡΠ½ΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ². ΠΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ, Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌ, ΠΈΒ Π΅Π³ΠΎ ΡΡΡΠ΄Π½ΠΎ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π΅Ρ. ΠΒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΄ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΒ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ΅, ΠΈΒ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅Β ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΡΡΡΡΠ΅Π΅. ΠΡΠΎ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΠΈΡΠ°ΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ.
JavaScript ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΌ, Π½ΠΎΒ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΒ Π»ΠΈ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Node ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ? ΠΠ΄Π½Π° ΠΈΠ·Β ΡΠ°ΠΌΡΡ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΒ β ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° ΡΒ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΠΈΠ·-Π·Π° ΠΏΡΠΈΡΡΡΠ΅ΠΉ ΠΈΠΌΒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈΒ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΎΠ±Ρ ΠΎΠ΄ΡΡΡΡ Π΄ΠΎΡΠΎΠ³ΠΎ. ΠΒ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΈΒ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°Π±ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΈΠΌΠ΅ΡΡΠ΅Π΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΡΠ°ΠΉΠ½ΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ². ΠΒ ΡΡΠΎΠΌ Π΄ΡΠ±Π»Π΅ ΡΒ ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Node ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΒ ΡΡΠΎΠΉ ΡΡΡΡΠΈΠ½ΠΎΠΉ ΡΠ΅ΡΠ΅Π· ΡΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ. Π―Β ΠΈΡΡΠ»Π΅Π΄ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ°ΡΡΡ ΡΠΈΠΊΠ»Π° ΡΠΎΠ±ΡΡΠΈΠΉ Node.js ΠΈΒ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½Β ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ΄Π½Π° ΠΈΠ·Β Β«ΠΏΠΎΡΡΡΡΠ°ΡΡΠΈΡ Β» ΡΡΠ½ΠΊΡΠΈΠΉ Π²Β NodeΒ β ΡΡΠΎ ΡΠΈΠΊΠ», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Β ΡΠ΅ΡΠ°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°Π΄ΠΈΠΊΠ°Π»ΡΠ½ΠΎ Π½ΠΎΠ²ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ?
Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉΒ β ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ, Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ ΠΈΒ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΊΠ». ΠΠ»Ρ ΡΠ΅Ρ , ΡΒ ΠΊΠΎΠ³ΠΎ Π½Π΅Ρ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π²Β ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ Π½Π°ΡΠΊ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅ Π²Π΅Π±-Π·Π°ΠΏΡΠΎΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΠΏΠΎΠΈΡΠΊ Π²Β Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . ΠΠ΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ Π²Π΅ΡΡ Π·Π°Β ΡΠ°Π·. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΆΠ΄Π°ΡΡ ΠΎΡΠ²Π΅ΡΠ° ΠΎΡΒ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΎΠ½Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π²Β ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. ΠΒ ΡΠΈΠΊΠ»Π΅ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈΒ Π½Π΅Β ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ². ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΠΊΠ» Π½Π΅Β Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΒ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΈΠΌ Π²Π΅Π±-Π·Π°ΠΏΡΠΎΡΠΎΠΌ. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Ρ Π²Β ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ Β ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ. Π¦ΠΈΠΊΠ» Π½Π΅Β ΠΆΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Π³ΠΎ ΠΎΡΒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, Π½ΠΎΒ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΏΠΎΒ ΠΌΠ΅ΡΠ΅ ΠΈΡ Β ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ.
Π‘Π°ΠΌ ΡΠΈΠΊΠ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΠ±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΡΡΡ, ΠΎΠ½Β ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΉΡΠΈ ΠΈΠ·Β ΡΠΈΠΊΠ»Π°. ΠΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΎΒ ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΊΠ°ΠΊ ΠΎΒ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΠΊΡΡΡΠΈΠ²Π°Π΅ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ console.log, Π΄ΠΎΒ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΈΠΊΠ» Π·Π°ΠΏΡΠΎΡΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ. Node ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ libuv ΠΏΠΎΠ΄ ΠΏΡΠΈΠΊΡΡΡΠΈΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°Β ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΎΡΒ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
ΠΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²Β ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅? ΠΠΎΡΠΎΠΊΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π²Β ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ , Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. ΠΠΎΡΠΎΠΊΠΈΒ β ΡΡΠΎ ΡΠ΅ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ, ΠΈΒ ΡΡΠΎ Π½Π΅Β ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ Π΄ΠΎΒ ΡΡΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠΎΠΆΠ΅ ΡΡΠ»ΠΎΠΆΠ½ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ. ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΒ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΎΠ½Β Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΌΠ°ΡΡΠ°Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π²Β Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉΡΡ ΠΏΠΎΡΠΎΠΊ. ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅ΡΡΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Β ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ. ΠΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½Π°Ρ ΠΏΠ΅ΡΠ»Ρ ΠΎΠ±ΡΠ΅Π·Π°Π΅Ρ ΠΊΡΠ°ΠΉΠ½ΠΈΠ΅ ΡΠ»ΡΡΠ°ΠΈ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ Π΄Π»Ρ Π½ΠΈΡΠ΅ΠΉ, ΠΈΒ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅. ΠΡΠΎ Π½Π°ΡΡΠΎΡΡΠΈΠΉ Π³Π΅Π½ΠΈΠΉ Π·Π°Β ΠΏΠ΅ΡΠ»Π΅ΠΉ. ΠΠ½Β ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΒ ΠΏΠΎΡΠΎΠΊΠΈ, ΠΎΡΡΠ°Π²Π°ΡΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠΌ.
ΠΠΎΠ»ΡΠ±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ»
Π‘Π°ΠΌΡΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ, Π½Π°Β ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠ²Π΅ΡΠΈΡΡ ΡΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ,Β β ΠΆΠΈΠ²Β Π»ΠΈ ΡΠΈΠΊΠ». ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, ΠΎΠ½Β ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ ΠΆΠ΄Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. ΠΠ°Β ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ» ΡΠ°ΡΠΊΡΡΡΠΈΠ²Π°Π΅Ρ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π·Π°ΡΠ΅ΠΌ ΠΎΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ»:
setTimeout( () => console.log('Hi from the callback queue'), 5000); const stopTime = Date.now() + 2000; while (Date.now() < stopTime) {}
ΠΡΠ»ΠΈ Π²ΡΒ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΈΠΊΠ» Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ Π½Π°Β Π΄Π²Π΅ ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΠΎΒ ΡΠΈΠΊΠ» ΠΎΡΡΠ°Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ Π΄ΠΎΒ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π½Π΅Β Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΠ΅ΡΠ΅Π· ΠΏΡΡΡ ΡΠ΅ΠΊΡΠ½Π΄. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠΏΡΠΎΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ ΠΎΠ½Β ΠΆΠ΄Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ². ΠΡΠΎΡ ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΠ°ΡΠΊΡΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈΒ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Β ΠΎΡΡΠ°Π΅ΡΡΡ.
ΠΡΠ΅ΡΠ΅Π΄Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°
Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΒ Π±Π»ΠΎΠΊΠΈΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ», Π°Β Π·Π°ΡΠ΅ΠΌ ΠΏΠ»Π°Π½ΠΈΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²? ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΊΠ» Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ, ΠΎΠ½Β Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Β ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π²Β ΠΎΡΠ΅ΡΠ΅Π΄Ρ:
const stopTime = Date.now() + 2000; while (Date.now() < stopTime) {} setTimeout(() => console.log('Ran callback A'), 5000);
ΠΠ°Β ΡΡΠΎΡ ΡΠ°Π· ΠΏΠ΅ΡΠ»Ρ ΠΎΡΡΠ°Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π²Β ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΌΠΈ ΡΠ΅ΠΊΡΠ½Π΄. Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ ΡΡΠΏΠΎΠΉ Π²Β ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΡΡΠΎΡΠ΅. Π£Β Π½Π΅Π³ΠΎ Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π²Β ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π²Β Π±ΡΠ΄ΡΡΠ΅ΠΌ. ΠΒ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ°Π²ΡΡΡΡ Π²Β ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈΒ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» ΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ Π΄Π»Ρ ΠΎΠΏΡΠΎΡΠ°. Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΠΏΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Β ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½. ΠΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΉΡΠΈ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΒ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΠΏΠ΅ΡΠ»ΠΈ, ΠΈΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΠΏΡΠΈΡΡΠ΄Π»ΠΈΠ²ΠΎΠ³ΠΎ ΠΆΠ°ΡΠ³ΠΎΠ½Π°, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Β«ΡΠΌΠΈΡΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠΉΒ» ΠΈΠ»ΠΈ Β«ΠΏΠ°ΡΡΠ΅ΡΠ½ ΡΠ΅Π°ΠΊΡΠΎΡΠ°Β». ΠΡΠΎ ΡΠΊΡΠΎΠΌΠ½ΡΠΉ ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ ΡΠΈΠΊΠ», ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ ΠΈΒ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ.
Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ ΡΒ asyncΒ / await
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, ΠΎΠ΄Π½Π° ΠΈΠ·Β ΠΈΠ΄Π΅ΠΉΒ β ΠΎΠ±Π΅ΡΠ½ΡΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄ Π²ΠΎΠΊΡΡΠ³ asyncΒ / await:
const fs = require('fs'); const readFileSync = async (path) => await fs.readFileSync(path); readFileSync('readme.md').then((data) => console.log(data)); console.log('The event loop continues without blocking...');
ΠΡΠ΅, ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ»Π΅, awaitΠΏΠΎΡΡΡΠΏΠ°Π΅Ρ ΠΈΠ·Β ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. ΠΠΎΠ΄ ΡΠΈΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, Π½ΠΎΒ Π½Π΅Β Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ asyncΒ / await Π΄Π΅Π»Π°Π΅Ρ readFileSync thenable, ΡΡΠΎ ΡΠ±ΠΈΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΈΠ·Β ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°. ΠΡΠΌΠ°ΠΉΡΠ΅ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ»Π΅, awaitΠΊΠ°ΠΊ ΠΎΒ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ².
ΠΠΎΠ»Π½ΠΎΠ΅ ΡΠ°ΡΠΊΡΡΡΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ: ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅Π»Π΅ΠΉ. ΠΒ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΒ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ fs.readFile, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠ½ΡΡΡ Π²ΠΎΠΊΡΡΠ³ ΠΎΠ±Π΅ΡΠ°Π½ΠΈΡ. ΠΠ±ΡΠ΅Π΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ Π²Β ΡΠΈΠ»Π΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΡΠ½ΠΈΠΌΠ°Π΅Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΡΒ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°.
Π€Π°Π·Ρ ΡΠΈΠΊΠ»Π° ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΡΠΎ ΡΠ°Π·Ρ ΡΠΈΠΊΠ»Π° ΡΠΎΠ±ΡΡΠΈΠΉ:
- ΠΠ΅ΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ. Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ ΠΊΡΡΠΈΡΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²Β Π½Π°ΡΠ°Π»Π΅ ΡΠΈΠΊΠ»Π°, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ°ΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠΎΒ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ. ΠΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΠ²Π»ΡΡΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ Π΄Π»Ρ libuv.
- ΠΠ΅ΡΠ»Ρ ΠΆΠΈΠ²Π°Ρ? ΠΡΠ»ΠΈ ΡΒ ΡΠΈΠΊΠ»Π° Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ, Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ, ΠΎΠ½Β ΠΆΠΈΠ². ΠΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π²Β ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΈΠΊΠ».
- Π‘ΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ². ΠΠ΄Π΅ΡΡ setTimeoutΠΈΠ»ΠΈ setIntervalΠ²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ. Π¦ΠΈΠΊΠ» ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΉΡΠ°ΡΠ½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΡΠ΅ΠΊ.
- ΠΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π²Β ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. ΠΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΎΡΠ»ΠΎΠΆΠΈΠ»Π° ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Β ΡΡΠΎΠΉ ΡΠΎΡΠΊΠ΅. ΠΠΏΡΠΎΡ ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π½ΠΎΒ Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΎΡ ΡΠ°Π³ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π²ΡΠ΅Ρ ΠΎΡΡΡΠ°Π²ΡΠΈΡ ΠΎΡΒ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
- ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡΒ β Π²Β ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΠ·-Π·Π° ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½Π°Β ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΒ ΡΠ²Π»ΡΡΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ Π΄Π»Ρ libuv.
- ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ Π΄Π»Ρ setImmediateΠ²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π²Β ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°. ΠΡΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΡΠΈΠΊΠ»Π° Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΈΒ ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°.
- Π Π°ΡΡΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠΌ-Π°ΡΡ ΠΎΠΏΡΠΎΡΠ°. Π¦ΠΈΠΊΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ ΠΎΠ½Β Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°. ΠΠΎΡ ΠΊΠ°ΠΊ ΠΎΠ½Β ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠΌ-Π°ΡΡ:
- ΠΡΠ»ΠΈ ΡΠΈΠΊΠ» Π²ΠΎΡ-Π²ΠΎΡ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ, ΡΠ°ΠΉΠΌΠ°ΡΡ ΡΠ°Π²Π΅Π½ 0.
- ΠΠ΅Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠ°ΠΉΠΌΠ°ΡΡ ΡΠ°Π²Π΅Π½ 0.
- ΠΡΠ»ΠΈ Π΅ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ, ΡΠ°ΠΉΠΌΠ°ΡΡ ΡΠ°Π²Π΅Π½ 0.
- ΠΡΠ»ΠΈ Π²Β ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π΅ΡΡΡ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ, ΡΠ°ΠΉΠΌΠ°ΡΡ ΡΠ°Π²Π΅Π½ 0.
- ΠΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ, ΡΠ°ΠΉΠΌΠ°ΡΡ ΡΠ°Π²Π΅Π½ 0.
- ΠΡΠ»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ ΠΈΠ·Β Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ, ΡΠ°ΠΉΠΌ-Π°ΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π°Β Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ, ΠΈΠ»ΠΈ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ², Π½Π°Β Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ.
- Π¦ΠΈΠΊΠ» Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°Β / Π²ΡΠ²ΠΎΠ΄Π° ΡΒ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈΠ·Β ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠ°Π·Ρ. ΠΒ ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Β ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΒ Π²Π²ΠΎΠ΄ΠΎΠΌ-Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ.
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΠ°Β ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ setImmediateΠ·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΠΈΒ ΠΎΠ½Β ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΡΡΠ΅ΠΊ. ΠΡΠ±ΡΠ΅ setImmediateΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π²Β ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π²Β ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ Π²Π²ΠΎΠ΄Β / Π²ΡΠ²ΠΎΠ΄ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Π·Π΄Π΅ΡΡ.
- ΠΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π·Π°ΠΊΡΡΡΠΈΡ. ΠΡΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ Π·Π°ΠΊΡΡΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ.
- ΠΡΠ΅ΡΠ°ΡΠΈΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ.
ΠΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠΏΡΠΎΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ? Π¦ΠΈΠΊΠ» Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Β ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π½Π΅Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈΒ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΡΡΡ. ΠΒ Node Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ setTimeout, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ. ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π°Β Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ, ΡΠΈΠΊΠ» ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΡΒ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ. ΠΡΠΎ ΠΏΠΎΠ»ΡΠ±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠΏΡΠΎΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΠΊΠ», ΠΊΠΎΠ³Π΄Π° Π½Π΅ΡΠ΅Π³ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΈΒ Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅.
ΠΠΎΡ Π²Π΅ΡΡΠΈΡ ΡΡΠΎΠ³ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠΌ-Π°ΡΡΠ° Π΄Π»Ρ Unix Π²ΠΎΒ Π²ΡΠ΅ΠΉ ΠΊΡΠ°ΡΠ΅Β C:
int uv_backend_timeout(const uv_loop_t* loop) { if (loop->stop_flag != ) return ; if (!uv__has_active_handles(loop) && !uv__has_active_reqs(loop)) return ; if (!QUEUE_EMPTY(&loop->idle_handles)) return ; if (!QUEUE_EMPTY(&loop->pending_queue)) return ; if (loop->closing_handles) return ; return uv__next_timeout(loop); }
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²ΡΒ Π½Π΅Β ΡΠ»ΠΈΡΠΊΠΎΠΌ Π·Π½Π°ΠΊΠΎΠΌΡ ΡΒ C, Π½ΠΎΒ ΠΎΠ½Β ΡΠΈΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΠΈΒ Π΄Π΅Π»Π°Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎΒ ΡΠΎ, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Β ΡΠ΅Π΄ΡΠΌΠΎΠΉ ΡΠ°Π·Π΅.
ΠΠΎΡΡΠ°ΠΏΠ½Π°Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ°Π·Ρ Π½Π°Β ΠΏΡΠΎΡΡΠΎΠΌ JavaScript:
const http = require('http'); const server = http.createServer((req, res) => { res.end(); }); server.listen(8000); const options = { hostname: '127.0.0.1', port: 8000 }; const sendHttpRequest = () => { const req = http.request(options, () => { console.log('Response received from the server'); setImmediate(() => server.close(() => console.log('Closing the server'))); }); req.end(); }; setTimeout(() => sendHttpRequest(), 8000);
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π°Β ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠΉ ΡΠ°Π·Π΅ ΠΈΒ Π΄ΠΎΒ Π΄Π΅Π²ΡΡΠΎΠΉ, ΠΎΠΆΠΈΠ΄Π°ΠΉΡΠ΅, ΡΡΠΎ ΠΎΠ½ΠΈ setImmediate()ΡΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ:
fs.readFile('readme.md', () => { setTimeout(() => console.log('File I/O callback via setTimeout()'), ); setImmediate(() => console.log('File I/O callback via setImmediate()')); });
Π‘Π΅ΡΠ΅Π²ΠΎΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄ Π±Π΅Π· ΠΏΠΎΠΈΡΠΊΠ° DNS Π΄Π΅ΡΠ΅Π²Π»Π΅, ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²Β ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄ ΡΡΠ°Π²ΠΈΡΡΡ Π²Β ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ΅ΡΠ΅Π· ΠΏΡΠ» ΠΏΠΎΡΠΎΠΊΠΎΠ². ΠΠΎΠΈΡΠΊ DNS ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠ» ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°ΠΊΠΈΠΌΒ ΠΆΠ΅ Π΄ΠΎΡΠΎΠ³ΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄.
ΠΡΠ» ΠΏΠΎΡΠΎΠΊΠΎΠ²
ΠΠ½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ·Π»Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ·Β Π΄Π²ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ: Π΄Π²ΠΈΠΆΠΊΠ° JavaScript V8Β ΠΈΒ libuv. Π€Π°ΠΉΠ»ΠΎΠ²ΡΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄, ΠΏΠΎΠΈΡΠΊ DNS ΠΈΒ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· libuv.
ΠΡΠΎ ΠΎΠ±ΡΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°:
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΡΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ ΠΎΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π²Π½ΡΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°. ΠΡΠΎΡ ΠΏΠΎΡΠΎΠΊ Π½Π΅Β ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Β Π½Π΅Β ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΒ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ. Π€Π°ΠΉΠ»ΠΎΠ²ΡΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄ ΠΈΒ ΠΏΠΎΠΈΡΠΊ DNS Π·Π°Π²ΠΈΡΡΡ ΠΎΡΒ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠΎΡΡΠΎΠΈΡ Π²Β ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΡ Β Π²Β ΠΏΡΠ»Π΅ ΠΏΠΎΡΠΎΠΊΠΎΠ². ΠΠ΄Π½Π° ΠΈΠ·Β ΠΈΠ΄Π΅ΠΉΒ β ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ DNS, ΡΡΠΎΠ±Ρ Π½Π΅Β ΠΏΠΎΠΏΠ°ΡΡΡ Π²Β ΠΏΡΠ» ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Β ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅. ΠΠ²ΠΎΠ΄ IP-Π°Π΄ΡΠ΅ΡΠ° localhost, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΈΠ·Β ΠΏΡΠ»Π°. ΠΡΠ» ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ UV_THREADPOOL_SIZEΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ. Π Π°Π·ΠΌΠ΅Ρ ΠΏΡΠ»Π° ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΏΠΎΒ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ ΡΠ΅ΡΡΡΠ΅Ρ .
V8Β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²Β ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅, ΠΎΡΠΈΡΠ°Π΅Ρ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π°Β Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. V8Β ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ° Π²Π½Π΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°. ΠΡΠΌΠ°ΠΉΡΠ΅ ΠΎΒ V8Β ΠΊΠ°ΠΊ ΠΎΒ Π΄Π²ΠΈΠΆΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ JavaScript ΠΈΒ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π΅Π³ΠΎ Π½Π°Β ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΠ»Ρ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° JavaScript ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ V8Β ΠΈΒ libuv ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π΄Π»Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ.
ΠΡΠ»ΠΈ Π²Β Node Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΒ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΡ, Π½Π°ΡΠ½ΠΈΡΠ΅ ΡΒ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅Β Π±ΠΎΠ»Π΅Π΅ ΡΡΠ° ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π½Π΅Β ΠΈΡΡΠΎΡΠ΅Π½Β Π»ΠΈ ΠΏΡΠ» ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈΒ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ·Β ΠΏΡΠ»Π°. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΡΠ»Π° ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π³Β β ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° JavaScript Π²Β V8, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ.
ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅
Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ°Π·Ρ ΠΏΠΎΒ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ°Π²ΡΡΡΡ Π²Β ΠΎΡΠ΅ΡΠ΅Π΄Ρ. ΠΠΎΒ Π½Π°Β ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π²Β ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°.
process.nextTick() ΠΏΡΠΎΡΠΈΠ² setImmediate()
ΠΒ ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°Π·Ρ ΡΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ process.nextTick()ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ². ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎΡ ΡΠΈΠΏ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π½Π΅Β ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΠΈΠΊΠ»Π° ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²Β ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°Π·Ρ. setImmediate()ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ Π½Π΅Β ΡΠ°ΠΊ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Β Π½Π°Π·Π²Π°Π½ΠΈΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ process.nextTick()Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΡΠΊΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΒ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ setImmediate()Π² ΡΠ΅Π»ΠΎΠΌ.
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎΒ ΠΊΠΎΡΠΎΡΡΠΌ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ process.nextTick():
- Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΡΠ΅ΡΠ΅Π²ΠΎΠΌΡ Π²Π²ΠΎΠ΄Ρ-Π²ΡΠ²ΠΎΠ΄Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΡΠΈΡΡΠΊΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π·Π°ΠΏΡΠΎΡ Π΄ΠΎΒ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°.
- ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΡΠ°ΡΠΊΡΡΡΠΊΠΈ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π½ΠΎΒ Π΄ΠΎΒ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°.
Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΌΠΈΡΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠΉ Ρ ΠΎΡΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅, Π½Π°Ρ ΠΎΠ΄ΡΡΡ Π²Β ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅. ΠΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΠΎΠ±ΡΡΠΈΡ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΡΠΊΡΡΡΠΈΠ²Π°ΡΡΡΡ.
const EventEmitter = require('events'); class ImpatientEmitter extends EventEmitter { constructor() { super(); process.nextTick(() => this.emit('event')); } } const emitter = new ImpatientEmitter(); emitter.on('event', () => console.log('An impatient event occurred!'));
Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΠ°ΡΠΊΡΡΡΠΈΠ²Π°ΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠ°ΠΊ RangeError: Maximum call stack size exceeded. ΠΠ΄Π½Π° ΠΈΠ·Β ΠΏΡΠΎΠ±Π»Π΅ΠΌΒ β ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ process.nextTick()ΡΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ Π½Π΅Β Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ. ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎΠΉ ΠΏΡΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²Π°Ρ Π½Π°Β ΠΎΠ΄Π½ΠΎΠΉ ΠΈΒ ΡΠΎΠΉΒ ΠΆΠ΅ ΡΠ°Π·Π΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉΒ β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΡΠ° Π²Β Π²ΡΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΈΠ·ΠΎΡΡΠ΅Π½Π½ΠΎΡΡΠΈ. ΠΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΡΡΡ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈΒ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ. ΠΠ½Β ΡΠ΄Π°Π»ΡΠ΅ΡΒ ΡΠΎ, ΡΡΠΎ Π½Π΅Β ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ»ΠΈ Π½Π΅Β Π½ΡΠΆΠ½ΠΎ, ΠΈΒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Node ΡΡΠ°ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°Β ΠΏΠΎΠ³ΠΎΠ½Ρ Π·Π°Β Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΈΒ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°Β ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
Node js ΡΠΈΠΊΠ» for — ΠΡΠ±-ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΠ΅Π»Π΅ΠΉ!
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π·Π°ΡΠ°ΡΡΡΡ Π²ΡΡΠ°ΡΡ Π·Π°Π΄Π°ΡΠ° ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½ΠΎΡΠΈΠΏΠ½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ²Π°ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ. ΠΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 10 ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄.
ΠΠ»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ° ΠΊΠΎΠ΄Π° ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠΈΠΊΠ»Ρ.
Π¦ΠΈΠΊΠ» Β«whileΒ»
Π¦ΠΈΠΊΠ» while ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΠΠΎΠ΄ ΠΈΠ· ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ condition ΠΈΡΡΠΈΠ½Π½ΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΠΊΠ» Π½ΠΈΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ i , ΠΏΠΎΠΊΠ° i :
ΠΠ΄Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° ΠΏΠΎ-Π½Π°ΡΡΠ½ΠΎΠΌΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ. Π¦ΠΈΠΊΠ» Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ ΡΡΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ Π±Ρ ΡΡΡΠΎΠΊΠ° i++ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°Π»Π° Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅, ΡΠΎ ΡΠΈΠΊΠ» Π±Ρ ΠΏΠΎΠ²ΡΠΎΡΡΠ»ΡΡ (Π² ΡΠ΅ΠΎΡΠΈΠΈ) Π²Π΅ΡΠ½ΠΎ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π±ΡΠ°ΡΠ·Π΅Ρ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠ°ΠΊΠΎΠΌΡ ΡΠ»ΡΡΠΈΡΡΡΡ, ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Β«ΠΏΠΎΠ΄Π²ΠΈΡΡΠΈΠΉΒ» ΡΠΊΡΠΈΠΏΡ, Π° JavaScript Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠΈΠ΄ΡΡΡΡ Β«ΡΠ±ΠΈΡΡΒ» ΠΏΡΠΎΡΠ΅ΡΡ.
ΠΡΠ±ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΡΠΈΠΊΠ»Π°, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅: ΡΡΠ»ΠΎΠ²ΠΈΠ΅ while Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, while (i) β Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΊΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ while (i != 0) :
ΠΡΠ»ΠΈ ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π° ΡΠΎΡΡΠΎΠΈΡ Π»ΠΈΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΡΡΠΈΡΡ ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ <β¦>:
Π¦ΠΈΠΊΠ» Β«doβ¦whileΒ»
ΠΡΠΎΠ²Π΅ΡΠΊΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΠΏΠΎΠ΄ ΡΠ΅Π»ΠΎΠΌ ΡΠΈΠΊΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ do..while :
Π¦ΠΈΠΊΠ» ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΡΠ΅Π»ΠΎ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ condition , ΠΈ ΠΏΠΎΠΊΠ° Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ true , ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°.
Π’Π°ΠΊΠ°Ρ ΡΠΎΡΠΌΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π°, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΎΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠ°ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠ° Ρ ΠΏΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ: while(β¦) <β¦>.
Π¦ΠΈΠΊΠ» Β«forΒ»
ΠΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠΉ ΡΠΈΠΊΠ» β ΡΠΈΠΊΠ» for .
ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΠ½ ΡΠ°ΠΊ:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌΡΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ°ΡΡΡ, Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅. Π¦ΠΈΠΊΠ» Π½ΠΈΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ alert(i) Π΄Π»Ρ i ΠΎΡ 0 Π΄ΠΎ (Π½ΠΎ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Ρ) 3 :
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ for ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉ:
ΡΠ°ΡΡΡ | ||
---|---|---|
Π½Π°ΡΠ°Π»ΠΎ | i = 0 | ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΡΠΈ Π²Ρ ΠΎΠ΄Π΅ Π² ΡΠΈΠΊΠ» |
ΡΡΠ»ΠΎΠ²ΠΈΠ΅ | i | ΠΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠΈΠΊΠ»Π°. ΠΡΠ»ΠΈ ΠΎΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡΡ Π² false , ΡΠΈΠΊΠ» ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ. |
ΡΠ°Π³ | i++ | ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΡΡΠ»ΠΎΠ²ΠΈΡ. |
ΡΠ΅Π»ΠΎ | alert(i) | ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π² true . |
Π ΡΠ΅Π»ΠΎΠΌ, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠΈΠΊΠ»Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π’ΠΎ Π΅ΡΡΡ, Π½Π°ΡΠ°Π»ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π° Π·Π°ΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎ ΠΈ ΡΠ°Π³.
ΠΡΠ»ΠΈ ΡΠ΅ΠΌΠ° ΡΠΈΠΊΠ»ΠΎΠ² Π΄Π»Ρ Π²Π°Ρ Π½ΠΎΠ²Π°, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²ΡΡΠ΅ ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ Π½Π° Π»ΠΈΡΡΠ΅ Π±ΡΠΌΠ°Π³ΠΈ, ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ.
ΠΠΎΡ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅:
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΡΡΡΠΈΠΊΠ° i Π±ΡΠ»Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΠΏΡΡΠΌΠΎ Π² ΡΠΈΠΊΠ»Π΅. ΠΡΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ Β«Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ΅Β» ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’Π°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°.
ΠΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ:
ΠΡΠΎΠΏΡΡΠΊ ΡΠ°ΡΡΠ΅ΠΉ Β«forΒ»
ΠΡΠ±Π°Ρ ΡΠ°ΡΡΡ for ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π°.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π½Π°ΡΠ°Π»ΠΎ Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠ°ΡΡΠΎΠΌ ΡΠΈΠΊΠ»Π°.
ΠΠΎΠΆΠ½ΠΎ ΡΠ±ΡΠ°ΡΡ ΠΈ ΡΠ°Π³ :
ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΠΈΠΊΠ» Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ while (i .
Π ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ±ΡΠ°ΡΡ Π²ΡΡ, ΠΏΠΎΠ»ΡΡΠΈΠ² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ»:
ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌΠΈ ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ ; ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ, ΠΈΠ½Π°ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°.
ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π°: Β«breakΒ»
ΠΠ±ΡΡΠ½ΠΎ ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π² false .
ΠΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π° Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ break .
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΡΠΌΠΌΡ Π²Π²ΠΎΠ΄ΠΈΠΌΡΡ ΡΠΈΡΠ΅Π» Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Ρ ΠΈΡ Π²Π²ΠΎΠ΄ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ β Π²ΡΠ΄Π°ΡΡ:
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° break Π² ΡΡΡΠΎΠΊΠ΅ (*) ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠΎΠΊΡ Π·Π° Π΅Π³ΠΎ ΡΠ΅Π»ΠΎΠΌ, ΡΠΎ Π΅ΡΡΡ Π½Π° alert .
ΠΠΎΠΎΠ±ΡΠ΅, ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ Β«Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» + break Β» β ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΡΡΡΠΊΠ° Π΄Π»Ρ ΡΠ΅Ρ ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅ΡΠ²Π°ΡΡΡΡ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°, Π° ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅.
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ: continue
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° continue β Β«ΠΎΠ±Π»Π΅Π³ΡΡΠ½Π½Π°Ρ Π²Π΅ΡΡΠΈΡΒ» break . ΠΡΠΈ Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΈΠΊΠ» Π½Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ, Π° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ (Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠ΅ Π΅ΡΡ ΡΠ°Π²Π½ΠΎ true ).
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ΅ ΡΠΈΠΊΠ»Π° Π΄Π΅Π»Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ΡΠ΅Π³ΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΠΊΠ» Π½ΠΈΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ continue , ΡΡΠΎΠ±Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΡΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
ΠΠ»Ρ ΡΡΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ i , Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° continue ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ for (ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ alert Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½Π΅ΡΡΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
Π¦ΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΡΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠ³ Π±Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
Π‘ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΎΠ½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π²ΠΌΠ΅ΡΡΠΎ continue ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°Π²Π΅ΡΠ½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² Π±Π»ΠΎΠΊ if .
ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ. ΠΡΠ»ΠΈ ΠΊΠΎΠ΄ Π²Π½ΡΡΡΠΈ if Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΡΠΉ, ΡΠΎ ΡΡΠΎ ΡΡ ΡΠ΄ΡΠ°Π΅Ρ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΠ° Ρ continue .
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Ρ ΡΠ΅ΡΠ½Π°ΡΠ½ΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ? . Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ², ΠΊΠ°ΠΊ break/continue , Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Π²ΠΎΠ·ΡΠΌΡΠΌ ΡΡΠΎΡ ΠΊΠΎΠ΄:
β¦ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΠΎΠΏΡΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π½Π°ΠΊ:
β¦ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΡΠΎ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ²ΠΎΠ΄ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΎΠΏΡΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° ? Π²ΠΌΠ΅ΡΡΠΎ if .
ΠΠ΅ΡΠΊΠΈ Π΄Π»Ρ break/continue
ΠΡΠ²Π°Π΅Ρ, Π½ΡΠΆΠ½ΠΎ Π²ΡΠΉΡΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ ΡΠΈΠΊΠ»Π° ΡΡΠ°Π·Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΠ΄Π΅ Π½ΠΈΠΆΠ΅ ΠΌΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠΈΠΊΠ»Π°ΠΌΠΈ ΠΏΠΎ i ΠΈ j , Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ prompt ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (i, j) Ρ (0,0) Π΄ΠΎ (2,2) :
ΠΠ°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄.
ΠΠ±ΡΡΠ½ΡΠΉ break ΠΏΠΎΡΠ»Π΅ input Π»ΠΈΡΡ ΠΏΡΠ΅ΡΠ²ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠΈΠΊΠ», Π½ΠΎ ΡΡΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠΎΡΡΠΈΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠΊ.
ΠΠ΅ΡΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Ρ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΠ»ΠΎΠΌ:
ΠΡΠ·ΠΎΠ² break Π² ΡΠΈΠΊΠ»Π΅ Π½ΠΈΠΆΠ΅ ΠΈΡΠ΅Ρ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠΉ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ» Ρ ΡΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΊΠΎΠΉ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² Π΅Π³ΠΎ ΠΊΠΎΠ½Π΅Ρ.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ break outer Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΎΡΠ²Π°Π½ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ» Π΄ΠΎ ΠΌΠ΅ΡΠΊΠΈ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ outer , ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ (*) , ΠΊ alert(βΠΠΎΡΠΎΠ²ΠΎ!β) .
ΠΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΠΌΠ΅ΡΠΊΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅:
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° continue ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Ρ ΠΌΠ΅ΡΠΊΠΎΠΉ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΊΠ»Π° Ρ ΠΌΠ΅ΡΠΊΠΎΠΉ.
ΠΠ΅ΡΠΊΠΈ Π½Π΅ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡΠ·ΠΎΠ² break/continue Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°, ΠΈ ΠΌΠ΅ΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π³Π΄Π΅-ΡΠΎ Π²ΡΡΠ΅ ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ.
ΠΡΠΎΠ³ΠΎ
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ 3 Π²ΠΈΠ΄Π° ΡΠΈΠΊΠ»ΠΎΠ²:
- while β ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ.
- do..while β ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
- for (;;) β ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ, Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
Π§ΡΠΎΠ±Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ while (true) . ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΊΠ», ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅ΡΠ²Π°Π½ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ break .
ΠΡΠ»ΠΈ Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° Π΄Π΅Π»Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ, Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°ΡΡ ΡΠΈΠΊΠ» Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ continue .
ΠΠ±Π΅ ΡΡΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΌΠ΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π²ΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΠ»ΠΎΠΌ. ΠΠ΅ΡΠΊΠΈ β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄Π»Ρ break/continue Π²ΡΠΉΡΠΈ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π°, ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ.
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΌΠ΅ΡΠΊΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΡΠ³Π½ΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ΄Π°, Π² JavaScript Π½Π΅Ρ ΡΠ°ΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ.
Π¦ΠΈΠΊΠ»Ρ JavaScript ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ. ΠΠ½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, Π²ΡΠΏΠΎΠ»Π½ΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΡ ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π°, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π· (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ-ΡΡΡΡΡΠΈΠΊ) ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ. Π¦ΠΈΠΊΠ»Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ.
ΠΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΊΠ»Π° Π²Π»ΠΈΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ Π² ΡΠ΅Π»Π΅ ΡΠΈΠΊΠ»Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
Π JavaScript ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠΈΠΊΠ»Π°:
1) for ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΡΠ°Π½Π΅Π΅ Π·Π½Π°Π΅ΡΠ΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ;
2) for. in ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±Ρ
ΠΎΠ΄Π° ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²;
3) while ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ;
4) do. while ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ while . ΠΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ do. while Π²ΡΠ΅Π³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΈΠ³ΡΡΠ½ΡΡ
ΡΠΊΠΎΠ±ΠΊΠ°Ρ
, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ false .
Π’ΠΈΠΏΡ ΡΠΈΠΊΠ»ΠΎΠ² Π² JavaScript, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»ΠΎΠΌ
- Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅:
- 1. Π¦ΠΈΠΊΠ» for
- 2. Π¦ΠΈΠΊΠ» forβ¦in
- 3. Π¦ΠΈΠΊΠ» while
- 4. Π¦ΠΈΠΊΠ» doβ¦while
- 5. ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ»
- 6. ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ»
- 7. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»ΠΎΠΌ
1. Π¦ΠΈΠΊΠ» for
Π¦ΠΈΠΊΠ» for ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ arguments ΠΈ HTMLCollection . Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠΈΠΊΠ»Π°. Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠ΄ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π°.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΊΠ» Π²ΡΠ²Π΅Π΄Π΅Ρ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΡΡΡΠΎΡΠΊΡ Hello, JavaScript! ΠΏΡΡΡ ΡΠ°Π·.
Π ΠΈΡ. 1. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° for Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
1.1. ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΠΊΠ» for
Π¦ΠΈΠΊΠ» for ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΡΡ ΡΠ°Π·Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ:
Π¨Π°Π³ 1. ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ var i = 0; β ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ΡΡΡΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°. ΠΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 0 . Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΡΡΡΠΈΠΊΠΎΠ² ΡΠΈΠΊΠ»Π° Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ i , j ΠΈ k .
Π¨Π°Π³ 2. ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΡ i β ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true , ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π° (ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π² ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ) Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΈΠ΄ΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΡΠΈΠΊΠ° ΠΌΠ΅Π½ΡΡΠ΅ 5 .
Π¨Π°Π³ 3. Π·Π°Π²Π΅ΡΡΠ°ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ i++ β ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΡ ΡΡΡΡΡΠΈΠΊΠ°, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ var i Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ. ΠΠΌΠ΅ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄Π΅ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°.
ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ var i ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1 . Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΡΠΎΠΊ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ for (var i = 1; i . Π£ΡΠ»ΠΎΠ²Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΡΠ½ΠΎΠ²Π°, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΡΠΈΠΊΠ° i Π²ΡΡ Π΅ΡΡ ΠΌΠ΅Π½ΡΡΠ΅ 5 . ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π² ΡΠ΅Π»Π΅ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΅ΡΡ ΡΠ°Π·. ΠΠ°Π²Π΅ΡΡΠ°ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ½ΠΎΠ²Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ. Π¨Π°Π³ΠΈ 2 ΠΈ 3 ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ i Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true .
1.2. ΠΡΠ²ΠΎΠ΄ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²Π°
Π§ΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° for , Π½ΡΠΆΠ½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° length . ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΈΠΊΠ» ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·.
ΠΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΡΠΊΡΠΈΠΏΡ Π²ΡΠ²Π΅Π΄Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½ ΠΏΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Ρ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ ΡΠ²Π΅ΡΠΎΠ²:
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° length Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Ρ ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΡΠ»ΠΎΠ²Π½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° length Π±ΡΠ΄Π΅Ρ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡΡΡ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π·Π° Π²ΡΡ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΠΊΠ»Π°.
2. Π¦ΠΈΠΊΠ» for. in
Π¦ΠΈΠΊΠ»Ρ for. in ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΡ ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΎΠ±Ρ ΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ΠΌ. ΠΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ hasOwnProperty() , ΡΡΠΎΠ±Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Ρ ΠΎΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
Π ΠΈΡ. 2. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° for. in Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π΄ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° user ΠΏΡΠΎΡΠΎΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Object Π±ΡΠ» ΡΠ°ΡΡΠΈΡΠ΅Π½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ clone() .
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅ΠΏΠΎΡΠΊΠ° Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ, ΡΠΎ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ.
Π ΠΈΡ. 3. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° for. in Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ° user , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ hasOwnProperty() , ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΠΈΠ»ΡΡΡΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°.
3. Π¦ΠΈΠΊΠ» while
Π¦ΠΈΠΊΠ» while β ΡΠΈΠΊΠ» Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ½ΡΡΡΡΠΊΡΠΈΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° (Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π² ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ) Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π² true . ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ false , Π±Π»ΠΎΠΊ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ Π½ΠΈ ΡΠ°Π·Ρ.
ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π½Π° ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΎ ΠΊΠ°ΠΊ false . Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° (Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ).
ΠΠ°Π½Π½ΡΠΉ ΡΠΈΠΊΠ» Π²ΡΠ²Π΅Π΄Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΡΠ»Π° 3:
Π ΠΈΡ. 5. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° while
4. Π¦ΠΈΠΊΠ» do. while
Π¦ΠΈΠΊΠ» do. while; ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΈΠΊΠ»Π° while , Π² do. while; ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π°, Π° Π½Π΅ Π² Π½Π°ΡΠ°Π»Π΅. ΠΠ°Π½Π½ΡΠΉ ΡΠΈΠΊΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΠΆΠ΅, ΡΠ΅ΠΌ while , ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π°, Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ΅Π΄ΠΊΠΎ.
Π ΠΈΡ. 6. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° do. while
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.
5. ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΈΠΊΠ»Ρ
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ. Π’Π°ΠΊΠΎΠΉ ΡΠΈΠΊΠ» ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΡΠΎ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ°. Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π΅ΡΠ½ΡΡ false . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΊΠ» Π·Π°Π΄Π°ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠΆΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ 10 :
6. ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ
Π¦ΠΈΠΊΠ» Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ. ΠΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ. ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° for ΠΈ ΡΠΈΠΊΠ»Π° while .
Π ΠΈΡ. 7. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° for
7. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»ΠΎΠΌ
Π¦ΠΈΠΊΠ»ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² break; ΠΈ continue; .
7.1. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ break;
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ break; Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π°. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΡΠΈΠΊΠ» Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break; ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ if .
ΠΠΎΠ³Π΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break; ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±Π΅Π· ΠΌΠ΅ΡΠΊΠΈ, ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ ΠΈΠ· ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch . Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΡΡΡΡΠΈΠΊ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΎΡ 1 Π΄ΠΎ 99 , ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ ΡΠΈΠΊΠ» ΠΏΠΎΡΠ»Π΅ 14 ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ.
Π ΠΈΡ. 8. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° break Π² ΡΠΈΠΊΠ»Π΅ for
ΠΠ»Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break; ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ ΠΌΠ΅ΡΠΊΠΎΠΉ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠ΅ΡΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°. ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, Π²Π½Π΅ΡΠ½ΡΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ break; . Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠΌΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ if ΠΈΠ»ΠΈ ΠΈΠΌΡ Π±Π»ΠΎΠΊΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΠΊΠΈ ΡΡΠΎΠΌΡ Π±Π»ΠΎΠΊΡ. ΠΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ break; ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΌΠ΅ΡΠΊΠΈ Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ.
7.2. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ continue;
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ continue; ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΊΠ»Π° ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π½ΠΎΠ²ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ. ΠΡΠΈ ΡΡΠΎΠΌ, ΡΠΈΠΊΠ» while Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ, Π° ΡΠΈΠΊΠ» for ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΡΠ»ΠΎΠ²ΠΈΡ.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½ Π±ΡΠ΄ΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½Ρ Π²ΡΠ΅ ΡΡΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°:
Π ΠΈΡ. 9. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° continue Π² ΡΠΈΠΊΠ»Π΅ for
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ continue; ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΈΠΊΠ»Π°Ρ Ρ ΠΌΠ΅ΡΠΊΠΎΠΉ.
Π ΠΈΡ. 10. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° continue Ρ ΠΌΠ΅ΡΠΊΠΎΠΉ
Π¦ΠΈΠΊΠ», ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·.
JavaScript ΡΠΈΠΊΠ»Ρ
Π¦ΠΈΠΊΠ»Ρ ΡΠ΄ΠΎΠ±Π½Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Ρ Π΄ΡΡΠ³ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
Π§Π°ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ:
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΈΠΊΠ»:
Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΠΈΠΊΠ»ΠΎΠ²
JavaScript ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΠΈΠΊΠ»ΠΎΠ²:
- for β ΡΠΈΠΊΠ» ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·
- for/in β ΡΠΈΠΊΠ»Ρ ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°
- while β ΡΠΈΠΊΠ»Ρ ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ ΡΠ΅ΡΠ΅Π· Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ
- do/while β ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΊΠ» ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΠ° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ
Π¦ΠΈΠΊΠ» for
Π¦ΠΈΠΊΠ» for ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 1 Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ (ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·) ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°.
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 2 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°.
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 3 Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ (ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·) ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°.
ΠΡΠΈΠΌΠ΅Ρ
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 2 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° i (Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ 5).
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 3 ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° Π² ΡΠΈΠΊΠ»Π΅ i++ .
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 1
Π‘Π½Π°ΡΠ°Π»ΠΎ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 1 Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π² ΡΠΈΠΊΠ»Π΅ i = 0 .
ΠΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΠΊ, JavaScript Π½Π΅ Π²ΠΎΠ»Π½ΡΠ΅Ρ. ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 1 ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 1 (ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΡΠΎΠΉ):
ΠΡΠΈΠΌΠ΅Ρ
ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΡΡΠΈΡΠ΅ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 2, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ break Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°. ΠΠ½Π°ΡΠ΅ ΠΏΠ΅ΡΠ»Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ. ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠ±ΠΎΡ ΠΠ°ΡΠ΅Π³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. Π§ΠΈΡΠ°ΠΉΡΠ΅ ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ²Π°Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°.
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 3
Π§Π°ΡΡΠΎ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 3 ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΠΊ, JavaScript Π½Π΅ Π²ΠΎΠ»Π½ΡΠ΅Ρ, ΠΈ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 3 ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ.
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 3 ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΠ΅ iβ , ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΠ΅ i = i + 15 ΠΈΠ»ΠΈ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Π΅ΡΠ΅.
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 3 ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΡΠ΅Π½ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°):
ΠΡΠΈΠΌΠ΅Ρ
Π¦ΠΈΠΊΠ» for/in
JavaScript Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ for/in ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
ΠΡΠΈΠΌΠ΅Ρ
var text = «»;
var x;
for (x in person) <
text += person[x];
>
Π¦ΠΈΠΊΠ» while
Π¦ΠΈΠΊΠ» while ΠΈ do/while , ΡΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΡΡΠ½Π΅Π½ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΊ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ
JavaScript Π΄Π»Ρ ΡΠΈΠΊΠ»Π°
Π¦ΠΈΠΊΠ»Ρ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·.
Π¦ΠΈΠΊΠ»Ρ JavaScript
Π¦ΠΈΠΊΠ»Ρ ΡΠ΄ΠΎΠ±Π½Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°, ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠ΅ΠΌΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
Π§Π°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ:
ΠΠΌΠ΅ΡΡΠΎ Π·Π°ΠΏΠΈΡΠΈ:
ΡΠ΅ΠΊΡΡ + = Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ [0] + Β«
Β»;
ΡΠ΅ΠΊΡΡ + = Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ [1] + Β«
Β»;
ΡΠ΅ΠΊΡΡ + = Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ [2] + Β«
Β»;
ΡΠ΅ΠΊΡΡ + = Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ [3] + Β«
Β»;
ΡΠ΅ΠΊΡΡ + = Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ [4] + Β«
Β»;
ΡΠ΅ΠΊΡΡ + = Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ [5] + Β«
Β»;
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
Π΄Π»Ρ (ΠΏΡΡΡΡ i = 0; i
«;
}
Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ ΠΏΠ΅ΡΠ΅Π»Ρ
JavaScript ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΠΈΠΊΠ»ΠΎΠ²:
-
Π΄Π»Ρ
— ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· -
for / in
— ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° -
Π΄Π»Ρ / ΠΈΠ·
— ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ -
Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ
— ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΠ° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ -
do / while
— ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΠ° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ
ΠΠ΅ΡΠ»Ρ For
Π¦ΠΈΠΊΠ» Π΄Π»Ρ
ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
for ( ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 1 ; ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 2 ; ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 3 ) {
// Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½
}
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ 1 Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ (ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·) ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ 2 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ 3 Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ (ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·) ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°.
ΠΡΠΈΠΌΠ΅Ρ
for (let i = 0; i <5; i ++) {
text + = «Π§ΠΈΡΠ»ΠΎ ΡΠ°Π²Π½ΠΎ» + i + «
«;
}
ΠΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ:
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ 1 ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΠΈΠΊΠ»Π° (ΠΏΡΡΡΡ i = 0).
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 2 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΊΠ»Π° (i Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ 5).
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ 3 ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (i ++) ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ΠΎΠ²ΡΠΉ Π±Π»ΠΎΠΊ Π² ΡΠΈΠΊΠ»Π΅ Π±ΡΠ» ΠΊΠ°Π·Π½Π΅Π½.
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 1
ΠΠ±ΡΡΠ½ΠΎ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 1 Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π² ΡΠΈΠΊΠ»Π΅ (ΠΏΡΡΡΡ i = 0).
ΠΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΠΊ, JavaScript Π½Π΅ Π²ΠΎΠ»Π½ΡΠ΅Ρ. Π£ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ 1 ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ 1 (ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π°ΠΏΡΡΡΠΌΠΈ):
ΠΡΠΈΠΌΠ΅Ρ
for (ΠΏΡΡΡΡ Ρ = 0, len = cars.length, text = «»; Ρ
«;
}
Π Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΡΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 1 (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΡΠΈΠΊΠ»Π°):
ΠΡΠΈΠΌΠ΅Ρ
ΠΏΡΡΡΡ i = 2;
ΠΏΡΡΡΡ Π»Π΅Π½ = ΡΠ°ΡΠΊΠΈ.Π΄Π»ΠΈΠ½Π°;
let text = «»;
Π΄Π»Ρ (; i
«;
}
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 2
Π§Π°ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 2 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΠΊ, JavaScript Π½Π΅ Π²ΠΎΠ»Π½ΡΠ΅Ρ. Π£ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ 2 ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
ΠΡΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 2 Π²Π΅ΡΠ½Π΅Ρ ΠΈΡΡΠΈΠ½Ρ, ΡΠΈΠΊΠ» Π½Π°ΡΠ½Π΅ΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π²Π΅ΡΠ½Π΅Ρ Π»ΠΎΠΆΡ, ΡΠΈΠΊΠ» Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ.
ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΡΡΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 2, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°Π·ΡΡΠ² Π²Π½ΡΡΡΠΈ ΠΏΠ΅ΡΠ»Ρ.Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΊΠ» Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ. ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠ±ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΡΠΎΡΡΠΈΡΠ΅ ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ²Π°Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π³Π»Π°Π²Π°Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°.
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 3
Π§Π°ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 3 ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΠΊ, JavaScript Π½Π΅ Π·Π°Π±ΠΎΡΠΈΡΡΡ, Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 3 — ΡΡΠΎ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ.
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 3 ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΠ΅ (i—), ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ (i = i + 15) ΠΈΠ»ΠΈ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π΅ΡΠ΅.
ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ 3 ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΡΡΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°):
ΠΡΠΈΠΌΠ΅Ρ
ΠΏΡΡΡΡ i = 0;
ΠΏΡΡΡΡ Π»Π΅Π½ = ΡΠ°ΡΠΊΠΈ.Π΄Π»ΠΈΠ½Π°;
let text = «»;
Π΄Π»Ρ (; i
«;
i ++;
}
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ var
Π² ΡΠΈΠΊΠ»Π΅:
ΠΡΠΈΠΌΠ΅Ρ
var i = 5; for (var i = 0; i <10; i ++) {
// ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠΎΠ΄
}
// ΠΠ΄Π΅ΡΡ i ΡΠ°Π²Π½ΠΎ 10
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ » ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ , ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅
Π² ΡΠΈΠΊΠ»:
ΠΡΠΈΠΌΠ΅Ρ
ΠΏΡΡΡΡ i = 5; for (let i = 0; i <10; i ++) {
// ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠΎΠ΄
}
// ΠΠ΄Π΅ΡΡ i ΡΠ°Π²Π½ΠΎ 5
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ » Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ var
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½Π°Ρ Π²
ΡΠΈΠΊΠ» ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½Π΅ ΡΠΈΠΊΠ»Π°.
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ let
, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½Π°Ρ Π²
ΡΠΈΠΊΠ» Π½Π΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½Π΅ ΡΠΈΠΊΠ»Π°.
ΠΠΎΠ³Π΄Π° let
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i Π² ΡΠΈΠΊΠ»Π΅, i
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°.
ΠΠ»Ρ / ΠΈΠ· ΠΈ Π΄Π»Ρ / Π² ΠΊΠΎΠ½ΡΡΡΠ°Ρ
Π¦ΠΈΠΊΠ»Ρ Β« Π΄Π»Ρ / Π²Ρ
ΠΎΠ΄Π°Β»
ΠΈ Β«Π΄Π»Ρ / ΠΈΠ·
Β» ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅.
Π¦ΠΈΠΊΠ»Ρ ΠΏΠΎΠΊΠ°
Π¦ΠΈΠΊΠ» while
ΠΈ do / while
ΠΎΠ±ΡΡΡΠ½ΡΡΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π³Π»Π°Π²Π°Ρ
.
Π΄Π»Ρ — JavaScript | MDN
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ for ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΈΠΊΠ», ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΡΡΠ΅Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΎΡΠΊΠΎΠΉ Ρ Π·Π°ΠΏΡΡΠΎΠΉ, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ (ΠΎΠ±ΡΡΠ½ΠΎ Π±Π»ΠΎΠΊ-ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ) Π² Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠΈΠΊΠ»Π΅.
Π΄Π»Ρ ([ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ]; [ΡΡΠ»ΠΎΠ²ΠΈΠ΅]; [ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅])
ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅
-
ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ) ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΡΠ΅Π½Π΅Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΡΠΈΠΊΠ»Π°.ΠΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΡΡΠΈΠΊΠ°. ΠΡΠΎΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ
var
ΠΈΠ»ΠΈΠΏΡΡΡΡ
ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ². ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Ρvar
, Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π΄Π»Ρ ΡΠΈΠΊΠ», Ρ.Π΅. ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ, ΡΡΠΎ ΠΈ ΡΠΈΠΊΠ»Π΄Π»Ρ
. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΉ ΡΠΏΡΡΡΡ
ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ Π΄Π»Ρ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ.Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ.
-
ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠΈΠΊΠ»Π°.ΠΡΠ»ΠΈ ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΈΡΡΠΈΠ½Π°,
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. ΠΡΠΎ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ ΡΠ΅ΡΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ. ΠΡΠ»ΠΈ ΠΎΠΏΡΡΠ΅Π½ΠΎ, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅. ΠΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π·Π°Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ
.-
ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΠΎΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΎΡΠ΅Π½ΠΊΠ°
ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅
.ΠΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅ΡΡΠΈΠΊΠ°.-
Π²ΡΠΏΠΈΡΠΊΠ°
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ. ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π±Π»ΠΎΠΊΠ° (
{...}
) Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΡΡΠΎΠΉ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ (;
).
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π΄Π»Ρ
Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i
ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΊΠ°ΠΊ 0
.ΠΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΠΎ i
ΠΌΠ΅Π½ΡΡΠ΅ Π΄Π΅Π²ΡΡΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄Π²Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ i
Π½Π°
1 ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°.
Π΄Π»Ρ (let i = 0; i <9; i ++) {
console.log (Ρ);
}
ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
ΠΡΠ΅ ΡΡΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΡΠΈΠΊΠ»Π° for
Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π±Π»ΠΎΠΊΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ
ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅:
var i = 0;
for (; Ρ <9; Ρ ++) {
ΠΊΠΎΠ½ΡΠΎΠ»Ρ.ΠΆΡΡΠ½Π°Π» (Ρ);
}
ΠΠ°ΠΊ ΠΈ Π±Π»ΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
,
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΠ»ΠΎΠΊ
ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ. ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΡΡΠΎ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΠΎΡΠ²Π°ΡΡ ΡΠΈΠΊΠ» Π² ΡΠ΅Π»Π΅, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ
Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ»Ρ.
Π΄Π»Ρ (let i = 0 ;; i ++) {
console.log (Ρ);
Π΅ΡΠ»ΠΈ (i> 3) ΠΏΠ΅ΡΠ΅ΡΡΠ²;
}
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΡΡΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ Π±Π»ΠΎΠΊΠ°. ΠΠΏΡΡΡ ΠΆΠ΅, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ break
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΡΡΠΎΠ±Ρ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΠΈΠΊΠ», Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ
(ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ) ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° break Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ
ΡΠΎΡΠΊΠ°.
var i = 0;
Π΄Π»Ρ (;;) {
Π΅ΡΠ»ΠΈ (i> 3) ΠΏΠ΅ΡΠ΅ΡΡΠ²;
console.log (Ρ);
i ++;
}
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ for Π±Π΅Π· Π²ΡΠΏΠΈΡΠΊΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΊΠ» Π΄Π»Ρ
Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ·Π»Π° Π² final-expression
section, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°
ΡΠ°Π·Π΄Π΅Π», Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ.
function showOffsetPos (sId) {
var nLeft = 0, nTop = 0;
Π΄Π»Ρ (
var oItNode = Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ.getElementById (sId);
oItNode;
nLeft + = oItNode.offsetLeft, nTop + = oItNode.offsetTop, oItNode = oItNode.offsetParent
);
console.log ('ΠΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° \' '+ sId +' \ ': \ n left:' + nLeft + 'px; \ n top:' + nTop + 'px;');
}
showOffsetPos ('ΠΊΠΎΠ½ΡΠ΅Π½Ρ');
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°Π΅Π² Π² JavaScript, Π³Π΄Π΅ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π° . ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π±Π΅Π· ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π·Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΊΠ»Π° Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ.
Π’Π°Π±Π»ΠΈΡΡ BCD Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ JavaScript For ... of Loop - Scotch.io
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ for ... of
ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ. Π¦ΠΈΠΊΠ» For ... of
Π±ΡΠ» Π²Π²Π΅Π΄Π΅Π½ Π² ES6 ΠΊΠ°ΠΊ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° ΠΊΠ°ΠΊ for..in
, ΡΠ°ΠΊ ΠΈ forEach (
) ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ. For..of
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΡΡΡΠΎΠΊΠΈ, ΠΊΠ°ΡΡΡ, Π½Π°Π±ΠΎΡΡ ΠΈ Ρ. Π.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
Π΄Π»Ρ (ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ) {
ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅
}
- ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ - Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
- iterable - ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΡΡΠΈΠ²Ρ
ΠΠ°ΡΡΠΈΠ²Ρ - ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠΎΠ². Π£ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π΅ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π°Π΄ Π½ΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±Ρ
ΠΎΠ΄Π°.ΠΠΎΡ Π΄Π»Ρ ... ΠΈΠ·
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ:
const iterable = ['ΠΌΠΈΠ½ΠΈ', 'ΠΌΠ°Π½ΠΈ', 'ΠΌΠΎ'];
for (const value of iterable) {
console.log (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅);
}
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅
.
: https://jsbin.com/dimahag/edit?js,console
ΠΠ°ΡΡΠ°
ΠΠ±ΡΠ΅ΠΊΡ Map ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΊΠ»ΡΡ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ±ΡΠ΅ΠΊΡ Map ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ» Π²ΡΡΠ°Π²Π»Π΅Π½.ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, for ... ΠΈΠ· ΡΠΈΠΊΠ»Π°
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ°Ρ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
const iterable = new Map ([['ΠΎΠ΄ΠΈΠ½', 1], ['Π΄Π²Π°', 2]]);
for (const [ΠΊΠ»ΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅] ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ) {
console.log (`ΠΠ»ΡΡ: $ {ΠΊΠ»ΡΡ} ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: $ {Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅}`);
}
ΠΠ΅ΠΌΠΎ: https://jsbin.com/lofewiw/edit?js,console
ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ
ΠΠ±ΡΠ΅ΠΊΡ Set ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ±ΡΠ΅ΠΊΡΡ-Π½Π°Π±ΠΎΡΡ - ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°Π±ΠΎΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.ΠΡΠ΅ΡΠ°ΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π°Π±ΠΎΡΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΡΡΠ°Π²ΠΊΠΈ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π½Π°Π±ΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π½Π°Π±ΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π°, ΠΎΠ½ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
const iterable = Π½ΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ([1, 1, 2, 2, 1]);
for (const value of iterable) {
console.log (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅);
}
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π°Π±ΠΎΡ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈ Π΄Π²ΠΎΠ΅ΠΊ, Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ 1 ΠΈ 2.
ΠΠ°ΡΠ°ΡΡ Ρ JavaScript Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ!ΠΠ΅ΠΌΠΎ: https: // jsbin.com / fajozob / edit? js, ΠΊΠΎΠ½ΡΠΎΠ»Ρ
Π‘ΡΡΠΎΠΊΠ°
Π‘ΡΡΠΎΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ΅.
const iterable = 'JavaScript';
for (const value of iterable) {
console.log (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅);
}
ΠΠ΄Π΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊΠΈ, ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°.
ΠΠ΅ΠΌΠΎ: https://jsbin.com/rixakeg/edit?js,console
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΠ±ΡΠ΅ΠΊΡ
ΠΡΠΌΠ°ΠΉΡΠ΅ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΡΡΠΎ ΠΊΠ°ΠΊ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΡΠΈΠΏΠ° ΠΠ°ΡΡΠΈΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌ Π² ΡΡΠ½ΠΊΡΠΈΡ.ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
function args () {
for (const arg of arguments) {
console.log (Π°ΡΠ³ΡΠΌΠ΅Π½Ρ);
}
}
args ('a', 'b', 'c');
ΠΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ?! ΠΠ°ΠΊ Ρ ΡΠΊΠ°Π·Π°Π» ΡΠ°Π½Π΅Π΅, Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°
ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π»ΡΠ±ΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΉ Π² ΡΡΠ½ΠΊΡΠΈΡ args () ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΠΌ 20 Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ args (), Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°Π½ΠΎ 20 Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
: https://jsbin.com/ciqabov/edit?js,console
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ - ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΉΡΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΠΎΠΉΡΠΈ.
Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ(){
yield 1;
Π²ΡΡ
ΠΎΠ΄ 2;
Π²ΡΡ
ΠΎΠ΄ 3;
};
for (const g Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ()) {
console.log (Π³);
}
Π€ΡΠ½ΠΊΡΠΈΡ *
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°Ρ
ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π·Π΄Π΅ΡΡ.
: https://jsbin.com/faviyi/edit?js,console
JavaScript ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ΅ΡΡΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: break
, continue
, return
ΠΈ throw
.ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ:
const iterable = ['ΠΌΠΈΠ½ΠΈ', 'ΠΌΠ°Π½ΠΈ', 'ΠΌΠΎ'];
for (const value of iterable) {
console.log (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅);
ΠΏΠ΅ΡΠ΅ΡΡΠ²;
}
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ break
Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° ΠΏΠΎΡΠ»Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ mini
.
: https://jsbin.com/tisuken/edit?js,console
Π¦ΠΈΠΊΠ» For ... of
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ. ΠΡΠΎΡΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ:
const obj = {fname: 'foo', lname: 'bar'};
for (ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ obj) {
ΠΊΠΎΠ½ΡΠΎΠ»Ρ.ΠΆΡΡΠ½Π°Π» (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅);
}
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ obj
, ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π½Π° Π½Π΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ for ... of
, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠΈΠ±ΠΊΡ TypeError: obj [Symbol.iterator] Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ
.
: https://jsbin.com/sotidu/edit?js,console
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΠΎ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π² ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²Ρ, Π² ΠΌΠ°ΡΡΠΈΠ². Π£ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΄Π»ΠΈΠ½Ρ
, ΠΈ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ:
const obj = {length: 3, 0: 'foo', 1: 'bar', 2: 'baz'};
const array = ΠΠ°ΡΡΠΈΠ².ΠΈΠ· (ΠΎΠ±ΡΠ΅ΠΊΡ);
for (ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°) {
console.log (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅);
}
ΠΠ΅ΡΠΎΠ΄ Array.from ()
ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Array ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
: https://jsbin.com/miwofin/edit?js,console
Π¦ΠΈΠΊΠ» for ... in
Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
Array.prototype.newArr = () => {};
Array.prototype.anotherNewArr = () => {};
const array = ['foo', 'bar', 'baz'];
for (ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅) {
ΠΊΠΎΠ½ΡΠΎΠ»Ρ.ΠΆΡΡΠ½Π°Π» (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅);
}
For ... in
Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠ΅Ρ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈΠ· ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ newArr
ΠΈ anotherNewArr
, ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΈΡ
.
: https://jsbin.com/quxojof/edit?js,console
For ... of
Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π΄Π»Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ, Π½ΠΎ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ±ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» .Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ.
Array.prototype.newArr = () => {};
const array = ['foo', 'bar', 'baz'];
for (ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°) {
console.log (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅);
}
For ... of
Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π½Π΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°. ΠΠ½ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΈΡ
.
: https://jsbin.com/sakado/edit?js,console
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ For...of
loop ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠΈΠΊΠ»ΠΎΠ² ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° JavaScript. Π£Π΄Π°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ!
ΠΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΡΡΠ° ΡΡΠ°ΡΡΡ? ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ΡΡ Π½Π° @orinamio_ Π² Twitter
Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ Node.js
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ - ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΎ Node.js.
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΡΠ°ΠΊ Π²Π°ΠΆΠ½ΠΎ? ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ, ΠΊΠ°ΠΊ Node.js ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΌ ΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Β«ΡΠ±ΠΈΠΉΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β» Node.js, ΡΠΎ, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΎ Π΅Π³ΠΎ ΡΠ°ΠΊΠΈΠΌ ΡΡΠΏΠ΅ΡΠ½ΡΠΌ.
ΠΠΎΠ΄ JavaScript Node.js Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅. ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅.
ΠΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΡΡΡ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°.
ΠΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈΠ»ΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ².
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΡΠΈΠΊΠ»Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΡΠΆΠ΅Π»ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ, Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅ΠΉ Π²Π΅ΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ.
Π‘ΡΠ΅Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΊΠ»Π°ΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² API. ΠΠ΅Π±-Π²ΠΎΡΠΊΠ΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΡΠΎΠ±ΡΡΠΈΠΉ.
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²Π°Ρ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΡΠ±ΠΎΠΉ ΠΊΠΎΠ΄ JavaScript, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ, Π±ΡΠ΄Π΅Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° JavaScript Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅, Π΄Π°ΠΆΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π»ΠΊΠ½ΡΡΡ ΠΌΡΡΡΡ, ΠΏΡΠΎΠΊΡΡΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠΎΡΡΠΈ Π²ΡΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π² JavaScript Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠ΅. Π‘Π΅ΡΠ΅Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ Ρ. Π. ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° - ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ JavaScript ΡΠ°ΠΊ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²Π°Ρ , Π° Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ - Π½Π° ΠΎΠ±Π΅ΡΠ°Π½ΠΈΡΡ ΠΈ async / await.
Π‘ΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ²
Π‘ΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠ΅ΠΊ LIFO (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΠΎΡΠ΅Π», ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΡΠ΅Π»).
Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² , ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π΅ΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠ°Ρ-Π»ΠΈΠ±ΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ.
ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΉ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
ΠΡ Π·Π½Π°Π΅ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅ΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π½Π°ΠΊΠΎΠΌΡ, Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°? ΠΡΠ°ΡΠ·Π΅Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΈΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ Π²ΡΠ·ΠΎΠ²:
ΠΡΠΎΡΡΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ foo ()
.ΠΠ½ΡΡΡΠΈ foo ()
ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ bar ()
, Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ baz ()
.
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π΅ΡΡΡ Π»ΠΈ ΡΡΠΎ-ΡΠΎ Π² ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠΎ:
, ΠΏΠΎΠΊΠ° ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π½Π΅ ΠΎΠΏΡΡΡΠ΅Π΅Ρ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π² Π½Π΅ΠΌ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠ³ΠΎ: JavaScript Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΡΠ»ΠΎΠΆΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ΅ΠΊ Π½Π΅ ΠΎΡΠΈΡΡΠΈΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ setTimeout (() => {}, 0)
- Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅.
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ:
BASHcopy
foo
baz
bar
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ foo (). ΠΠ½ΡΡΡΠΈ foo () ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ setTimeout, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ bar
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ 0 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ baz ().
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΠΎΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅:
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ?
ΠΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
ΠΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ setTimeout (), Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈΠ»ΠΈ Node.js Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°ΠΉΠΌΠ΅Ρ. ΠΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ 0 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΉΠΌ-Π°ΡΡΠ°, ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ .
ΠΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ - ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ΅Π»ΡΠΊΠ° ΠΌΡΡΡΡ ΠΈΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠΎΠ², ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π°Ρ ΠΊΠΎΠ΄ ΡΠΌΠΎΠΆΠ΅Ρ Π½Π° Π½ΠΈΡ
ΠΎΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ»ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ±ΡΡΠΈΡ DOM, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ onLoad
.
Π¦ΠΈΠΊΠ» ΠΎΡΠ΄Π°Π΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΡΠ΅ΠΊΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΈ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠ½ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π² ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π° ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅Ρ, ΠΎΠ½ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΠ΄Π±ΠΎΡΡ Π²Π΅ΡΠ΅ΠΉ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ setTimeout,
, fetch ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ ΠΈ ΠΆΠΈΠ²ΡΡ Π² ΡΠ²ΠΎΠΈΡ
ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΏΠΎΡΠΎΠΊΠ°Ρ
.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π»Ρ setTimeout
ΡΠ°ΠΉΠΌ-Π°ΡΡ 2 ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΆΠ΄Π°ΡΡ 2 ΡΠ΅ΠΊΡΠ½Π΄Ρ - ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π³Π΄Π΅-ΡΠΎ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
ΠΡΠ΅ΡΠ΅Π΄Ρ Π·Π°Π΄Π°Π½ΠΈΠΉ ES6
Π ECMAScript 2015 ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ββΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ±Π΅ΡΠ°Π½ΠΈΡΠΌΠΈ (ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ Π² ES6 / ES2015). ΠΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ΠΠ±Π΅ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Ρ ΠΏΠΎΠ΅Π·Π΄ΠΊΠΎΠΉ Π½Π° Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΡ Π³ΠΎΡΠΊΠ°Ρ Π² ΠΏΠ°ΡΠΊΠ΅ ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΉ: ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π²Π°Ρ Π² ΠΊΠΎΠ½Π΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, ΠΏΠΎΠ·Π°Π΄ΠΈ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π»ΡΠ΄Π΅ΠΉ, Π³Π΄Π΅ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΆΠ΄Π°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, Π° ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π°Π΄Π°Π½ΠΈΠΉ - ΡΡΠΎ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π±ΠΈΠ»Π΅Ρ fastpass, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΏΠΎΠ΅Π·Π΄ΠΊΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ:
Π ΡΡΠΎΠΌ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Promises (ΠΈ Async / await, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° ΠΎΠ±Π΅ΡΠ°Π½ΠΈΡΡ
) ΠΈ ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΡΠ°ΡΡΠΌΠΈ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· setTimeout ()
ΠΈΠ»ΠΈ API Π΄ΡΡΠ³ΠΈΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π²ΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄Π»Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
ΠΡΡΡΠΈΠ΅ ΡΠΈΠΊΠ»Ρ Π² JavaScript - Π‘ΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²
Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΎΡΠΌΡ ΡΠΈΠΊΠ»Π° for, ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠΌ ΠΈ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ. ΠΡΠΈ ΡΠΈΠΊΠ»Ρ / ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅.
Π΄Π»Ρ Π² ΡΠΈΠΊΠ»Π΅
Π ΡΡΠΎΠΌ ΡΠΈΠΊΠ»Π΅ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΠΊΠ»ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
// ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ
ΠΏΡΡΡΡ arr = [1, 2, 3, 4, 5]
for (ΠΏΡΡΡΡ index in arr) {
console.log (arr [ΠΈΠ½Π΄Π΅ΠΊΡ])
}
// ΠΡΠ²ΠΎΠ΄: 1,2,3,4,5
// ΠΏΠ΅ΡΠ΅Π±ΠΎΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
let obj = {id: 1, msg: 'hello'}
for (Π²Π²Π΅Π΄ΠΈΡΠ΅ obj) {
console.log (obj [ΠΊΠ»ΡΡ])
}
// ΠΡΠ²ΠΎΠ΄: 1, ΠΏΡΠΈΠ²Π΅Ρ
Π΄Π»Ρ ΡΠΈΠΊΠ»Π°
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎΡ ΡΠΈΠΊΠ», Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ. ΠΡΠΎΡ ΡΠΈΠΊΠ» ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ.
Π΄Π»Ρ (let val of arr) {
ΠΊΠΎΠ½ΡΠΎΠ»Ρ.ΠΆΡΡΠ½Π°Π» (val)
}
// ΠΡΠ²ΠΎΠ΄: 1,2,3,4,5
ΠΠ΅ΡΠΎΠ΄Ρ ΠΌΠ°ΡΡΠΈΠ²Π°
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π²Π·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΈΠΊΠ»Π° Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ. ΠΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠΈΠΊΠ»Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²Π½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π½ΠΈΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΏΡΠΎΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡΠΌΠΈ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².
ΠΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ².forEach () ΠΌΠ΅ΡΠΎΠ΄. For-each ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°.
// ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
arr.forEach ((Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈΠ½Π΄Π΅ΠΊΡ) => console.log (`Index = $ {index} Value = $ {value}`))
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°
Π§ΡΠΎΠ±Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² Π² Π΄ΡΡΠ³ΡΡ ΡΠΎΡΠΌΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ array.map (). ΠΠ΅ΡΠΎΠ΄ map () ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ². ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ Π±ΡΠ΄ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΈΠΌΡ. ΠΠ°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ.
Ρ ΡΠΈΠΊΠ»ΠΎΠΌ for
let data = [
{id: 1, ΠΈΠΌΡ: 'Π’Π΅Π»Π΅ΡΠΎΠ½', ΡΠΈΠΏ: 'ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ'},
{id: 2, name: 'Laptop', type: 'electronic'},
{id: 3, name: 'Shirt', type: 'clothing'},
]
ΠΏΡΡΡΡ ids = []
for (let i = 0; i
Ρ ΠΊΠ°ΡΡΠΎΠΉ
ΠΏΡΡΡΡ ids = data.map (function (val) {
Π²Π΅ΡΠ½ΡΡΡ val.id
})
ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠΎΡΠΎΡΠ΅ ΠΈ ΠΏΡΠΎΡΠ΅ ΡΠΎ ΡΡΡΠ΅Π»ΠΊΠΎΠΉ
ΠΏΡΡΡΡ ids = data.map (val => val.id)
Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΠ»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ array.filter (). ΠΠ΅ΡΠΎΠ΄ filter () ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΡΡΠΎΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡΡΠΈΠ½Ρ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π² ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅.
ΠΡΠ±ΠΎΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ²
let electronics = data.filter (item => item.type == 'electronic')
ΠΠΎΠΈΡΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ array.find (). ΠΠ°ΠΊ ΠΈ Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΡΠ΅ Π·Π΄Π΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΡΡΠΈΠ½Ρ ΠΈΠ»ΠΈ Π»ΠΎΠΆΡ.ΠΠ΅ΡΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡΡΠΈΠ½Ρ, Π±ΡΠ΄Π΅Ρ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π½Π΅Ρ, ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½Π΅Ρ undefined.
ΠΠΎΠΈΡΠΊ ΠΈΠΌΠ΅Π½ΠΈ "Π’Π΅Π»Π΅ΡΠΎΠ½"
data.find (val => val.name == 'Π’Π΅Π»Π΅ΡΠΎΠ½')
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ array.reduce (). ΠΠ΅ΡΠΎΠ΄ reduce () ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.Π£ ΡΡΠ°ΠΆΡΡΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π΅ΡΡΡ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ currentValue Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². Accumulator ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, currentValue - ΡΡΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°.
Π‘ΡΠΌΠΌΠ° ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΏΡΡΡΡ arr = [1, 2, 3, 4, 5]
// ΡΡΠΌΠΌΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°
arr.reduce ((Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ, ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅) => (Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ + ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅), 0)
// Π³Π΄Π΅ 0 - Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
// ΠΡΠ²ΠΎΠ΄: 15
// ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΎΠ±Ρ.ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ((Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ, currentValue) => (acc * currentValue), 1)
// ΠΡΠ²ΠΎΠ΄: 120
ΠΡΠΎΠ²Π΅ΡΠΊΠ°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Ρ ΠΎΡΡ Π±Ρ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ array.some (). ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²Π΅ΡΠ½Π΅Ρ ΠΈΡΡΠΈΠ½Ρ, Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ Ρ
ΠΎΡΡ Π±Ρ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ Π²Π΅ΡΠ½Π΅Ρ Π»ΠΎΠΆΡ.
let friends = [13, 15, 16, 18] // Π²ΠΎΠ·ΡΠ°ΡΡ Π³ΡΡΠΏΠΏΡ Π΄ΡΡΠ·Π΅ΠΉ
// ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, Π΅ΡΠ»ΠΈ Ρ
ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· Π½ΠΈΡ
18 ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅
Π΄ΡΡΠ·ΡΡ.Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ (val => val> = 18)
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ array.every (). ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²Π΅ΡΠ½Π΅Ρ ΠΈΡΡΠΈΠ½Ρ, Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ Π²Π΅ΡΠ½Π΅Ρ Π»ΠΎΠΆΡ.
let giftPrices = [300, 350, 399, 400]
let budgetPerGift = 450
ΠΏΡΡΡΡ checkBudget = price => price <= budgetPerGift
giftPrices.every (checkBudget) // true
budgetPerGift = 300
giftPrices.every (checkBudget) // Π»ΠΎΠΆΡ
ΠΠ΅ΡΠΈ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ
- ΠΠ΅ΡΠΎΠ΄Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° for, Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ², ΠΈ ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ»ΡΡΡΠΈΡΡΡ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² Π΄Π²ΠΈΠΆΠΊΠ°Ρ JS.
- ΠΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈ Π²ΡΡΠ΅ (ΠΊΡΠΎΠΌΠ΅ some (), find ()), Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°ΡΡ, ΡΠΎ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²Π°ΠΌ Π½ΠΈ ΠΊ ΡΠ΅ΠΌΡ. ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ break, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ².
ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π²ΡΠ΅.ΠΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π», ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ MDN, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΡ .
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΡΡ ΡΡΠΎΡ ΠΏΠΎΡΡ, ΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ ΠΈΠΌ :).
Π£ΡΠ»ΠΎΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈ ΡΠΈΠΊΠ»ΠΎΠ² JavaScript - Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ, ΠΡΠ°ΠΊΡΠΈΠΊΠ°, Π Π΅ΡΠ΅Π½ΠΈΠ΅
Π£ΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ ΡΠΈΠΊΠ»Ρ JavaScript [12 ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠΉ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ]
[ ΠΠ½ΠΈΠ·Ρ ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π².]
1. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° JavaScript, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ»Π° ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅Π΅. ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
2. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ JavaScript, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π·Π½Π°ΠΊ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΡΠ΅Ρ
ΡΠΈΡΠ΅Π». ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΎΠΊΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π·Π½Π°ΠΊΠΎΠΌ. ΠΠ°ΠΉΡΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
ΠΠΎΠΌΠ΅ΡΠ° ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² : 3, -7, 2
ΠΡΡ
ΠΎΠ΄ : ΠΠ½Π°ΠΊ -
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
3. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ JavaScript Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅Ρ
ΡΠΈΡΠ΅Π». ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠ°ΠΉΡΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
ΠΠΎΠΌΠ΅ΡΠ° ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² : 0, -1, 4
ΠΡΡ
ΠΎΠ΄ : 4, 0, -1
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
4. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ JavaScript, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΈΠ· ΠΏΡΡΠΈ ΡΠΈΡΠ΅Π». ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠ°ΠΉΡΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
ΠΠΎΠΌΠ΅ΡΠ° ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² : -5, -2, -6, 0, -1
ΠΡΡ
ΠΎΠ΄ : 0
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
5. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΠΈΠΊΠ» for Π² JavaScript, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ ΠΎΡ 0 Π΄ΠΎ 15. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΡΠ΅ΡΠ½ΡΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠ΅ΡΠ½ΡΠΌ, ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠ°ΠΉΡΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π°:
"0 ΡΡΡΠ½ΠΎ"
"1 Π½Π΅ΡΠ΅ΡΠ½Π°Ρ"
"2 ΡΠ΅ΡΠ½ΡΡ
"
----------
----------
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
6. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° JavaScript, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΡΠ΅Π΄Π½ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ΅Π½ΠΈΠΊΠΎΠ². ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ ΡΡΠ΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΎΡΠ΅Π½ΠΊΠΈ.ΠΠ°ΠΉΡΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
ΠΠΌΡ ΡΡΡΠ΄Π΅Π½ΡΠ° | ΠΠ°ΡΠΊΠΈ |
---|---|
ΠΡΠ²ΠΈΠ΄ | 80 |
ΠΠΈΠ½ΠΎΡ | 77 |
ΠΠΈΠ²ΡΡ | 88 |
ΠΡΠΈΡΠ° | 95 |
Π’ΠΎΠΌΠ°Ρ | 68 |
ΠΡΠ΅Π½ΠΊΠΈ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ | ΠΠ°ΡΠΊΠ° |
---|---|
<60 | F |
<70 | D |
<80 | Π‘ |
<90 | B |
<100 | Π |
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
7. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° JavaScript, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 100. ΠΠΎ Π΄Π»Ρ ΠΊΡΠ°ΡΠ½ΡΡ
ΡΡΠ΅ΠΌ Π²ΡΠ²Π΅Π΄ΠΈΡΠ΅ Β«FizzΒ» Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΠ»Π°, Π° Π΄Π»Ρ ΠΊΡΠ°ΡΠ½ΡΡ
ΠΏΡΡΠΈ Π²ΡΠ²Π΅Π΄ΠΈΡΠ΅ Β«BuzzΒ». ΠΠ»Ρ ΡΠΈΡΠ΅Π», ΠΊΡΠ°ΡΠ½ΡΡ
ΠΊΠ°ΠΊ ΠΈΠ· ΡΡΠ΅Ρ
, ΡΠ°ΠΊ ΠΈ ΠΈΠ· ΠΏΡΡΠΈ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΊΠΎΠ² Β«FizzBuzzΒ». ΠΠ°ΠΉΡΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
8. Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ ΡΡΠ°ΡΡΠ»ΠΈΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ:
"ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ ΡΡΠΌΠΌΠΎΠΉ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠ² Π΅Π³ΠΎ ΡΠΈΡΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΠΈΡΠ»ΠΎ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΡΠ°Π²Π½ΡΠΌ 1 (Π³Π΄Π΅ ΠΎΠ½ΠΎ ΠΎΡΡΠ°Π½Π΅ΡΡΡ), ΠΈΠ»ΠΈ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π² ΡΠΈΠΊΠ»Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ 1.ΠΡΠΈ ΡΠΈΡΠ»Π°
Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ
ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 1, ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ°ΡΡΠ»ΠΈΠ²ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ, Π° ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π½Π° 1, ΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΡΡΠ°ΡΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ (ΠΈΠ»ΠΈ Π³ΡΡΡΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ) ".
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° JavaScript, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ 5 ΡΡΠ°ΡΡΠ»ΠΈΠ²ΡΡ
ΡΠΈΡΠ΅Π». ΠΠ°ΠΉΡΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
9. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° JavaScript, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ 3-Π·Π½Π°ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΡΠΌΡΡΡΠΎΠ½Π³Π°. ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π’ΡΠ΅Ρ
Π·Π½Π°ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΡΠΌΡΡΡΠΎΠ½Π³Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ, ΡΡΠΌΠΌΠ° ΠΊΡΠ±ΠΈΠΊΠΎΠ² Π΅Π³ΠΎ ΡΠΈΡΡ ΡΠ°Π²Π½Π° ΡΠ°ΠΌΠΎΠΌΡ ΡΠΈΡΠ»Ρ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 371 - ΡΡΠΎ ΡΠΈΡΠ»ΠΎ ΠΡΠΌΡΡΡΠΎΠ½Π³Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ 3 ** 3 + 7 ** 3 + 1 ** 3 = 371.
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
10. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° JavaScript Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» for. ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
* * * * * * * * * * * * * * *
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
11. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° JavaScript Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ (ΠΠΠ) Π΄Π²ΡΡ
ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π». ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
12. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° JavaScript, ΡΡΠΎΠ±Ρ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΊΡΠ°ΡΠ½ΡΠ΅ 3 ΠΈ 5 Π΄ΠΎ 1000. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠ΅ Π½Π΅ Π²ΡΠ΅!
* Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ΄, Π½Π°Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠΠΠ’ΠΠ Β». *
ΠΠΈΠ²Π°Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ
Π‘ΠΌ. Pen javascript-common-editor ΠΎΡ w3resource (@ w3resource) Π½Π° CodePen.
ΠΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ Π·Π΄Π΅ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠΉ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠΉ.
JavaScript: ΡΠΎΠ²Π΅ΡΡ Π΄Π½Ρ
Π§ΠΈΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ
function sum (a, b) { Π²Π΅ΡΠ½ΡΡΡ a + b; }
Π§ΠΈΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ - ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ.
Π€ΡΠ½ΠΊΡΠΈΡ ΡΡΠΌΠΌΡ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΠΌ 1 ΠΈ 2, ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° Π²Π΅ΡΠ½Π΅Ρ 3 Π±Π΅Π· ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ
ΡΡΡΠ΅ΠΊΡΠΎΠ².ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΠΌ 5 ΠΈ 10, ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° Π²Π΅ΡΠ½Π΅Ρ 15 ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π‘ΡΡΠ»ΠΊΠ°: https://bit.ly/3jFRBje
JavaScript Loops 101 [Π‘ΡΠ°ΡΡΡ] [Π‘ΡΠ°ΡΡΡ]
Π JavaScript Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΡ!
ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ Π²ΡΠ±ΡΠ°ΡΡ ΠΈ ΠΊΠΎΠ³Π΄Π°? ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠΈΠ½Π½ΡΠΌ ΠΏΠΎΠ»Π΅ΠΌ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Π² ΡΠ·ΡΠΊΠ΅.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ 7 ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ², ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Ρ Π²Π°ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ .Π ΠΊΠΎΠ½ΡΡ ΡΡΠ°ΡΡΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΊΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Π― Π½Π°ΡΠ΅Π» Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ»ΠΈ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊΠΈ. Π‘ΠΌΠ°ΠΉΠ»ΠΈΠΊ - ΡΡΠΎ ΡΡΡΠΎΠΊΠ° Π² Javascript, ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΡΠΈΡ ΡΡΡΠΎΠΊ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ 7 ΡΠΈΠΏΠΎΠ² ΡΠΈΠΊΠ»ΠΎΠ² Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° ΡΠΌΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΎΡΠ΄Π°ΡΡ ΠΎΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ², ΡΡΡΠΎΠΊΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ ΠΎ Π½ΠΈΡ Π·Π΄Π΅ΡΡ.
ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ.
ΠΠ»Ρ ΠΏΠ΅ΡΠ»ΠΈ
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΡΠ°ΡΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° - ΡΠΈΠΊΠ»Π° For. ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅, Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΡΠΊΠ°Π·Π°Π½Ρ ΡΡΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ Π°ΡΡΠΈΠ±ΡΡΠ°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:
- ΠΡΡΡΡ i = 0; - ΠΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΈΠΊΠ»Π΅. Β«IΒ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊΠ°ΠΌ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅.
- Ρ
- i ++; - ΠΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π°ΡΡΠΈΠ±ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ i. ΠΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ i = i + 1. ΠΠ½ Π΄ΠΎΠ±Π°Π²ΠΈΡ 1 ΠΊ Β«iΒ» Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΈΠΊΠ»Π΅.
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ ΡΠΈΠΊΠ» ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ:
- console.log (emojis [i]) - console.log - ΡΡΠΎ ΡΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΌΠΎΠ΄Π·ΠΈ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ .
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΠΎΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΊΠ» For Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ JavaScript. ΠΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π² Π»ΡΠ±ΠΎΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
ΠΠ½ΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΈΠΊΠ», ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Break.
ΠΠ΅ΡΠ΅ΡΡΠ²
Break ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° For.ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π½Π°ΠΉΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΠ΅ΠΏ Π² Π½Π°ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅, ΠΈ ΠΌΡ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΈΠΊΠ», ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅ΠΌ Π΅Π³ΠΎ.
ΠΡ, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄:
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌ ΡΠ΅ΡΠ΅ΠΏ, ΠΏΠ΅ΡΠ»Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΠΊΠ°ΠΊΠΈΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ? ΠΠΎΡ ΠΎΠ½:
Π§ΡΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ Ρ ΠΎΡΠ΅Π»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, ΠΊΡΠΎΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ? Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Continue.
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
Continue ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Break, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΈΠΊΠ»Π° ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΈΠ»ΠΈ Β«ΠΏΠ΅ΡΠ΅ΠΏΡΡΠ³Π½ΡΡΡΒ» ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅.
ΠΠ° ΡΡΠΎΡ ΡΠ°Π· ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΠ΅ΡΠ΅ΠΏΠ° ΠΌΡ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π»ΠΈ Π΅Π³ΠΎ ΠΈ Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠΎΠ΄ ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π° ΡΡΠΎΡ ΡΠ°Π· ΠΌΡ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ Break Π½Π° Continue. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΡΡΠ³ΠΎΠΉ:
Π§Π΅ΡΠ΅ΠΏ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½ Π½Π΅ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Β«ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡΒ» Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
ΠΠ»Ρ..Π
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ For, Π½ΠΎ Π΅ΡΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» For..in Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΊΠΎΠ΄, ΠΈ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π° i ++. Π’Π°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΈΠΊΠ» ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ?
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ For..in.
ΠΠΈΠ΄ΠΈΡΠ΅ Π»ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Array.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΌΠΎΠ³Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΊΠΎΠ΄, ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄:
Π€ΡΠ½ΠΊΡΠΈΡ `foo` ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΠΈΠΊΠ»Π°! ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ For..in Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠ΄Π΅.
ΠΡ ΠΎΠ±ΡΡΠ΄ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ For - Π΄Π°Π»Π΅Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΈΠΊΠ»Ρ While.
ΠΠΎΠΊΠ° ΡΠΈΠΊΠ»
Π¦ΠΈΠΊΠ» Β«ΠΠΎΠΊΠ°Β» Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠΈΠΊΠ», ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°ΡΡΡΡ, ΠΏΠΎΠΊΠ° Β«iΒ» ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°:
ΠΡ Π΄Π΅Π»Π°Π΅ΠΌ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ Π² ΡΠΈΠΊΠ»Π΅ For:
- i = 0 - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 0.
- i
- console.log (emojis [i]) - Π²ΡΠ²ΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠΌΠΎΠ΄Π·ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
- i ++ - Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π° 1 Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΈΠΊΠ»Π΅.
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠΌΠ°ΠΉΠ»Ρ.
ΠΠ°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» while Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΠΊΠ»Π° For?
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡ, Π² ΠΊΠΎΠ΄Π΅ JavaScript Π²Ρ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ°ΡΡΠΎ Π²ΠΈΠ΄Π΅ΡΡ ΡΠΈΠΊΠ»Ρ While. ΠΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊ Π»ΠΈΡΡ.ΠΡ Ρ ΠΎΡΠΈΠΌ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°ΡΡΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π»ΠΈΡΡ. ΠΠΎΡ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠΎΠ΄:
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ (noFox), ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΈΡΡΠΈΠ½Π½ΠΎ, ΡΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ βnoFoxβ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² false, ΡΠΈΠΊΠ» ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ. ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break Π΄Π»Ρ ΡΠΈΠΊΠ»Π° For, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π²ΡΡΠ΅.
Π§ΡΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π°? Π§ΡΠΎ ΠΆ, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΈΠΊΠ» Do / While.
Π¦ΠΈΠΊΠ» Do / While
ΠΡΠΎΡ ΡΠΈΠΊΠ» ΠΏΠΎΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½ ΡΠΈΠΊΠ»Ρ while, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅.ΠΠΎΡ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠΎΠ΄:
ΠΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΡΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π° 0
- Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ console.log
- ΠΠΎΠ±Π°Π²ΠΈΡΡ 1 ΠΊ ΠΈΠ½Π΄Π΅ΠΊΡΡ
- ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°
ES5
ΠΡΠ΅ ΡΠΈΠΊΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ, Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² Π»ΡΠ±ΠΎΠΉ ΡΡΠ΅Π΄Π΅ JavaScript. ΠΡΠ»ΠΈ Π²Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΠ΅ΡΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.ΠΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ ΡΠ·ΡΠΊ JavaScript Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΠ»ΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄. ΠΠΎΡΡΡΠΏΠ½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ»ΠΈ.
ΠΠ΅ΡΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ Π² ES5, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²Π΅ΡΡΠΈΡ 5 JavaScript. ΠΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ»ΠΈ:
ΠΠ»Ρ ΠΎΠ±Π΅ΠΈΡ ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ². ΠΠ»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΌΠΎΠ΄Π·ΠΈ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
- emojis.forEach ()
- emojis.map ()
ΠΡΠ°ΡΠ·Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ES5 Π½Π° Ρ ΠΎΡΠΎΡΠ΅ΠΌ ΡΡΠΎΠ²Π½Π΅, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ
forEach - ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Π°Ρ ΠΊ ΡΠΈΠΏΡ Array. Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ Π±Π»ΠΎΠΊ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΠ΅ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ . ΠΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² For Π² ES5.
ΠΡΠ»ΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ forEach, ΡΠΎ ΡΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΠΊΠ»Π°.
ΠΠ°ΡΡΠ°
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Map Π² ΡΠΈΠΊΠ»Π΅ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ forEach, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ².ΠΠ°ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ°ΡΡΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠΎΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅.
ΠΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Map Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ². ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π² Π΄ΡΡΠ³ΠΎΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊΠ°ΠΌΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΡΠ΅ΠΏΠΎΠ², ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎΡ ΡΠΈΠΊΠ», ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ. Π ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ.
ES6
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ES6.
ΠΡΠΎ ΡΠΈΠΊΠ» For..of.
ΠΡΠΎΡ ΡΠΈΠΊΠ» ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ Β«For..InΒ» ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠ΄Π°.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ ES6 ΡΠ»ΡΡΡΠ°Π΅ΡΡΡ, Π½ΠΎ IE Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΡΡΠ°Π΅Ρ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ For..of, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ IE.
ΠΠ»Ρ..ΠΈΠ·
ΠΠ°ΠΊ ΠΈ ΡΠΈΠΊΠ» For..of, ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΡΠΎ Π½Π΅ ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΡΠΎ ΠΈ ΡΠΈΠΊΠ» For..in. ΠΡΠ΅, ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ², Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΡΠΈΠΊΠ»Π΅.ΠΡΠ»ΠΈ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΡΡΠ΅Π΄Π΅ ES6, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΈΠΊΠ».
ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»ΠΎΠ² Javascript 101
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Javascript.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ES5 ΠΈΠ»ΠΈ ES6, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠΈΠΊΠ» For ΠΈΠ»ΠΈ ΡΠΈΠΊΠ» While.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ES5, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ forEach ΠΈΠ»ΠΈ Map. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ES6, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ For..of.
Π§ΡΠΎ Π±Ρ Π²Ρ Π½ΠΈ Π΄Π΅Π»Π°Π»ΠΈ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ For..Π²!
ΠΠ± Π°Π²ΡΠΎΡΠ΅: Π‘ΡΠΈΠ² ΠΠΈΠΏ
Π‘ΡΠΈΠ² ΠΠΈΠΏ (@pagedart) ΠΏΡΠΎΡΠ°Π±ΠΎΡΠ°Π» Π² ΠΠ’ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡΡ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠΈΠΉ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ½ ΡΠ½ΡΡΠ·ΠΈΠ°ΡΡ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²Π΅ΠΉΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠΠ· ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Π²Π΅ΡΠ΅ΠΉ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ° Π΅ΠΌΡ ΠΏΠΎΡΡΠ°ΡΡΠ»ΠΈΠ²ΠΈΠ»ΠΎΡΡ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΈΠΌ.