ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ closure
ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΡ
ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ β ΡΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ Π΄Π°ΡΡ Π²Π°ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ Scope (en-US) Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π JavaScript Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ.
ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° alert() Π²Π½ΡΡΡΠΈ displayName() Π±Π»Π°Π³ΠΎΠΏΠΎΠ»ΡΡΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ name ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΉ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ (lexical scoping): Π² JavaScript ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠΎ Π΅Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ (ΡΡΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ), ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΌ Π²ΠΎΠ²Π½Π΅. ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Lexical scoping (ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ).
ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΠ΅
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄, ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ init() ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°: ΡΡΡΠΎΠΊΠ° «Mozilla» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π² JavaScript alert Π΄ΠΈΠ°Π»ΠΎΠ³Π΅. Π§ΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π»Ρ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ displayName() Π±ΡΠ»Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π° ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅ΠΉ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°.
ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄, ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ, ΡΡΠΎ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ, Π½ΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ makeFunc() ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ name Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π°. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ JavaScript.
Π Π²ΠΎΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β ΡΡΠ½ΠΊΡΠΈΡ makeAdder :
ΠΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ makeAdder β ΡΡΠΎ ΡΠ°Π±ΡΠΈΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ: ΠΎΠ½Π° ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ±Π°Π²Π»ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π½Π°ΡΡ ΡΠ°Π±ΡΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π²ΡΡ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ β ΠΎΠ΄Π½Π° ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅Ρ 5 ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, Π²ΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅Ρ 10.
add5 ΠΈ add10 β ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ. ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π΅Π»ΡΡ ΠΎΠ΄Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»Π° ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. Π ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ add5 x β ΡΡΠΎ 5, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ add10 x β ΡΡΠΎ 10.
ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅
ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ²ΡΠ·Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ (Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅) Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΡΠ΅Π²ΠΈΠ΄Π½Π° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»Ρ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π³Π΄Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΠΌ ΡΠ²ΡΠ·Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ (ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°) Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π²Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: Π΄ΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ°. ΠΠ°ΠΊ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ font-size Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ body Π² ΠΏΠΈΠΊΡΠ΅Π»Π°Ρ , Π° Π·Π°ΡΠ΅ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΡΠΎΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΡΠ°Π½ΠΈΡΡ (ΡΠ°ΠΊΠΈΡ , ΠΊΠ°ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡ em:
Π’ΠΎΠ³Π΄Π° Π½Π°ΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±ΡΠ΄ΡΡ ΠΌΠ΅Π½ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ font-size ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° body, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ JavaScript:
ΠΠΌΡΠ»ΡΡΠΈΡ ΡΠ°ΡΡΠ½ΡΡ (private) ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ
JavaScript Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊΠΎΠ΅, Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ. Π§Π°ΡΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΠ΄Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΡΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ Π½Π΅ Π·Π°ΡΠΎΡΡΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠΎΠ΄ Π½ΠΈΠΆΠ΅ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΊΡΡΡΡΠΌ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (private) ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ. Π’Π°ΠΊΠ°Ρ ΠΌΠ°Π½Π΅ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅:
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΡΡΡΡΡΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ makeCounter() ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΡΡ ΡΠ²ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅). Π’ΠΎ Π΅ΡΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ privateCounter Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΡΡΡΡΡΠΈΠΊΠΎΠ² ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ, ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΡΠ΄ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ², ΠΎΠ±ΡΡΠ½ΠΎ Π°ΡΡΠΎΡΠΈΠΈΡΡΠ΅ΠΌΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ ΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ Π² ΡΠΈΠΊΠ»Π΅: ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°
ΠΠ°ΡΡΠΈΠ² helpText ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ Π΄Π»Ρ ΡΡΡΡ ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π°. Π¦ΠΈΠΊΠ» ΠΏΡΠΎΠ±Π΅Π³Π°Π΅Ρ ΡΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΡΠΎ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΡ onfocus Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ.
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ. ΠΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π²Ρ Π±Ρ Π½ΠΈ Π²ΡΠ±ΡΠ°Π»ΠΈ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ²Π΅ΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ΅.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°Π±ΡΠΈΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ (function factory), ΠΊΠ°ΠΊ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ :
Π‘ΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠ΅ Π½ΡΠΆΠ½ΠΎ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ Π½Π΅ Π½ΡΠΆΠ½Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠ°ΠΊ Π² ΡΠ°ΡΡΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ, ΡΠ°ΠΊ ΠΈ Π² ΡΠ°ΡΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΅ΡΡΡ ΡΠΌΡΡΠ» ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π² ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π° Π½Π΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°. ΠΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ, ΡΠΎ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΄Π»Ρ Π½Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΡΠ²ΠΎΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΈΡ ΠΈΠ· ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΡΠΉ, Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ΅ΡΠΎΠ΄Ρ Π²ΡΠ½Π΅ΡΠ΅Π½Ρ Π² ΠΏΡΠΎΡΠΎΡΠΈΠΏ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏ β ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΏΡΠΈΠ²ΡΡΠΊΠΎΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ Π²ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈΡΡ ΠΊ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ.
ΠΠΎΠ΄ Π²ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π°ΠΊΠΊΡΡΠ°ΡΠ½Π΅Π΅:
Π ΠΎΠ±ΠΎΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π²ΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· β Π² ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ΅. Π Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏ, Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡ ΠΎΠ΄Π° Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ². Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π² ΡΡΠ°ΡΡΠ΅ ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΡ Π² JavaScript Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΡ β ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ JavaScript, Π²ΡΠ·ΡΠ²Π°ΡΡΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², Π·Π½Π°ΡΡ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ°ΠΆΠ΄ΡΠΉ JS-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ. Π₯ΠΎΡΠΎΡΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°Π²ΡΠΈΡΡ Ρ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡΠΌΠΈ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΈ ΡΠΈΡΡΡΠΉ ΠΊΠΎΠ΄. Π ΡΡΠΎ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π±ΡΠ΄Π΅Ρ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°ΡΡ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΡΠΎΡΡΡ.
ΠΠ°ΡΠ΅ΡΠΈΠ°Π», ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΠΌ ΡΠ΅Π³ΠΎΠ΄Π½Ρ, ΠΏΠΎΡΠ²ΡΡΡΠ½ ΡΠ°ΡΡΠΊΠ°Π·Ρ ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°Ρ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² JavaScript-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ .
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅?
ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Π½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠ° Π²Π½Π΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π·Π°Π²Π΅ΡΡΠΈΠ»Π° ΡΠ°Π±ΠΎΡΡ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π² Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΈ ΠΌΠΎΠ³ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π΅ΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΊ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡΠΌ, ΡΠ°Π·Π±Π΅ΡΡΠΌΡΡ Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ Β«Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅Β».
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅?
ΠΠΎΠ½ΡΡΠΈΠ΅ Β«Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅Β» ΠΈΠ»ΠΈ Β«ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅Β» Π² JavaScript ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ΄Π΅ΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΠΈ inner() Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΌ Π² Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ outer() ΠΈ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π€ΡΠ½ΠΊΡΠΈΡ outer() ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΌ Π² Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ.
Π¦Π΅ΠΏΠΎΡΠΊΠ° ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ ΡΠΎΠ½ΠΊΠΎΡΡΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².
βΠΡΠΈΠΌΠ΅Ρ β1
βΠΡΠΈΠΌΠ΅Ρ β2
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ?
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ, ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°Ρ JavaScript, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΡ ΠΈΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ Π΄Π²ΡΠΌΡ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌΠΈ JavaScript. ΠΡΠΎ β ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (Execution Context) ΠΈ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ (Lexical Environment).
βΠΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ β ΡΡΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ JavaScript-ΠΊΠΎΠ΄. ΠΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²Π½ΡΡΡΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π Π½Π΅ΠΊΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΊΠΎΠ΄ Π»ΠΈΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (JavaScript β ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ). Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ Π²Π΅Π΄ΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ² (Call Stack).
Π‘ΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² β ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ , ΡΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ LIFO (Last In, First Out β ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π²ΠΎΡΡΠ», ΠΏΠ΅ΡΠ²ΡΠΌ Π²ΡΡΠ΅Π»). ΠΠΎΠ²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Π²Π΅ΡΡ Π½ΡΡ ΡΠ°ΡΡΡ ΡΡΠ΅ΠΊΠ°, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· Π½Π΅Ρ ΠΆΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡΠΌΠ°ΡΡ.
Π’Π΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΡΠ΅ΠΊΠ°, ΠΈ ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΠΊΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ, Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΡΡ ΠΈΠ· ΡΡΠ΅ΠΊΠ° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ².
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ²:
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
Π‘ΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
βΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° JS-Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΎΠ½ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ Π½ΠΎΠ²ΠΎΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ΄Π΅ΡΡ Β«ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΒ» β ΡΡΠΎ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Β«ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°ΡΒ» β ΡΡΠΎ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ (ΡΡΠ΄Π° Π²Ρ ΠΎΠ΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ) ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°:
ΠΠ·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°:
ΠΠΎΠ³Π΄Π° JS-Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΎΠ½ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ Π½ΠΎΠ²ΠΎΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ, Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΡΡ ΠΈΠ· ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π½ΠΎ Π΅Ρ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΎ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ, Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈ ΠΎΡΡΠ°ΡΡΡΡ ΡΠ°ΠΌ. ΠΡΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π»ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄Π°Π½Π½ΠΎΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠ»ΠΎΠΊ Π½Π° Π²Π½Π΅ΡΠ½Π΅Π΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΡΠ°Π·Π±ΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ Ρ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡΠΌΠΈ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΠΎΠΎΡΡΠΆΠΈΠ»ΠΈΡΡ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΎ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, Π²Π΅ΡΠ½ΡΠΌΡΡ ΠΊ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΠ΅ ΠΆΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠΆΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ.
βΠΡΠΈΠΌΠ΅Ρ β1
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°:
ΠΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ peter() (ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΡΠ°Π½ΠΈΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ displayName() ), JS-Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π½ΠΎΠ²ΠΎΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΎ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
Π ΡΡΠ½ΠΊΡΠΈΠΈ displayName() Π½Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΏΠΎΡΡΠΎΠΌΡ Π΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΡΠΎΠΉ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ JS-Π΄Π²ΠΈΠΆΠΎΠΊ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ name Π² Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
βΠΡΠΈΠΌΠ΅Ρ β2
ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ getCounter() Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ counter Π² Π΅Ρ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΎΠΏΡΡΡ ΠΆΠ΅, Π·Π°ΠΏΠΈΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠΈΡΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ getCounter() ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ count() Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΡΠΎΠ³ΠΈ
Π ΡΡΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ, ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈ Π³Π»ΡΠ±ΠΈΠ½Π½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ JavaScript, Π»Π΅ΠΆΠ°ΡΠΈΠ΅ Π² ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅. ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΡ β ΠΎΠ΄Π½Π° ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ JavaScript, Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ JS-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ β ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡΡΠΏΠ΅Π½Π΅ΠΉ ΠΏΡΡΠΈ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π£Π²Π°ΠΆΠ°Π΅ΠΌΡΠ΅ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ! ΠΡΠ»ΠΈ Π²Ρ ΠΎΠ±Π»Π°Π΄Π°Π΅ΡΠ΅ ΠΎΠΏΡΡΠΎΠΌ JS-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β ΠΏΡΠΎΡΠΈΠΌ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ.
ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΠ΅
JavaScript β ΡΠ·ΡΠΊ Ρ ΡΠΈΠ»ΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΊΠ»ΠΎΠ½ΠΎΠΌ. ΠΠ½ Π΄Π°ΡΡ Π½Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ. Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Π°, ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π° Π² Π΄ΡΡΠ³ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π° ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ Π²ΡΠ·Π²Π°Π½Π° ΠΈΠ· ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°.
ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΡΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ.
ΠΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡ? Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ?
Π ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π° ΠΎΡΡΡΠ΄Π° β ΠΏΠΎΠ»ΡΡΠΈΡ Π»ΠΈ ΠΎΠ½Π° Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠ²ΠΎΠ΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ?
Π Π°Π·Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ Π² ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ , ΠΈ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ JavaScript.
ΠΠ°ΡΠ° Π²ΠΎΠΏΡΠΎΡΠΎΠ²
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΠ·ΡΡΠΈΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²Ρ ΡΠΌΠΎΠ³Π»ΠΈ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΡΠΈ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ.
Π’Π°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Ρ ΠΈ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΠΎΠΉ ΠΈ Π² ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΏΠΎΠ·ΠΆΠ΅, ΡΠ΅ΠΌ ΠΎΠ½Π° Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°.
ΠΡΠ°ΠΊ, Π²ΠΎΠΏΡΠΎΡ Π² ΡΠΎΠΌ, ΠΏΠΎΠ»ΡΡΠΈΡ Π»ΠΈ ΠΎΠ½Π° Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ?
Π€ΡΠ½ΠΊΡΠΈΡ makeWorker ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Ρ. ΠΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΠΎΡΠΊΡΠ΄Π°-ΡΠΎ Π΅ΡΡ. ΠΠΎΠ»ΡΡΠΈΡ Π»ΠΈ ΠΎΠ½Π° Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΈΠ· ΠΌΠ΅ΡΡΠ° ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ· ΠΎΠ±ΠΎΠΈΡ ?
ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΎΠ±ΡΡΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Β«ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°ΡΒ» Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅.
ΠΠ±ΡΠ΅ΠΊΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ:
Environment Record β ΠΎΠ±ΡΠ΅ΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΡΠ°Π½ΡΡΡΡ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΡΡΠ³Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ°ΠΊΠ°Ρ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ this ).
Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π²Π½Π΅ΡΠ½Π΅Π΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ β ΡΠΎ Π΅ΡΡΡ ΡΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠ΄Ρ ΡΠ½Π°ΡΡΠΆΠΈ (ΡΠ½Π°ΡΡΠΆΠΈ ΠΎΡ ΡΠ΅ΠΊΡΡΠΈΡ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ).
«ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ» β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°: Environment Record. Β«ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡΒ», ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, Β«ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Β».
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΡΠΎΠΌ ΠΏΡΠΎΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅:
ΠΡΠΎ, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅, Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠΌ.
Π Π²ΠΎΡ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ:
ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ Ρ ΠΏΡΠ°Π²ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ, ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°:
ΠΠΎΠΊΠ° ΡΡΠΎ Π²ΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΎΡΡΠΎ, ΠΏΡΠ°Π²Π΄Π°?
Function Declaration
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Function Declaration.
ΠΠ»Ρ Π²Π΅ΡΡ Π½Π΅ΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠΊΡΠΈΠΏΡ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· Function Declaration, Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°.
ΠΠ½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΈ Π²Π½Π΅ΡΠ½Π΅Π΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π½Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²ΠΎΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΡΠ·ΠΎΠ²Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ say(«John») ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ (Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΡΠΎΠΊΠ΅, ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠΎΠΉ):
ΠΡΠ°ΠΊ, Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π° Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ: Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ (Π΄Π»Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ) ΠΈ Π²Π½Π΅ΡΠ½Π΅Π΅ (Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅):
ΠΠ½Π΅ΡΠ½Π΅Π΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅.
Π Π½ΡΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ phrase ΠΈ ΡΠ°ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΡ.
Π£ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° outer Π½Π° Π²Π½Π΅ΡΠ½Π΅Π΅.
ΠΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ β ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΠΈΡΠΊ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, Π·Π°ΡΠ΅ΠΌ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌ, Π·Π°ΡΠ΅ΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, Π΄ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΠΈΡΠΊ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΈΠ· Π½Π°ΡΠ°Π»Π° Π³Π»Π°Π²Ρ.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠΎ Π΅ΡΡΡ, ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π‘ΡΠ°ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ. ΠΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ½Π° Π±Π΅ΡΡΡ Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
Π’Π°ΠΊ ΡΡΠΎ, ΠΎΡΠ²Π΅Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΠΎΠΏΡΠΎΡ: Pete :
ΠΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅:
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.
Π, Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π±ΡΠ΄Π΅Ρ ΡΠ²ΠΎΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
Β«ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅Β» β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² Π½Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ. Π‘Π°ΠΌ Π΄Π²ΠΈΠΆΠΎΠΊ JavaScript ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ, ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²ΠΊΠΈ, Π½ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ ΡΠ°ΠΊΠΈΠΌ, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ.
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π€ΡΠ½ΠΊΡΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉΒ», ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² JavaScript.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ Π΄Π»Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Π·Π΄Π΅ΡΡ:
ΠΠ΄Π΅ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ getFullName() ΡΠΎΠ·Π΄Π°Π½Π° Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΈ, Π·Π½Π°ΡΠΈΡ, Π²ΡΠ²Π΅ΡΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ. Π JavaScript Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ.
Π§ΡΠΎ Π΅ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅, Π²Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π°: Π»ΠΈΠ±ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (Π΅ΡΠ»ΠΈ Π²Π½Π΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ), Π»ΠΈΠ±ΠΎ ΡΠ°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅. Π Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅. ΠΠ΅ Π²Π°ΠΆΠ½ΠΎ Π³Π΄Π΅, ΠΎΠ½Π° Π²ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΠΌ ΠΆΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π΄Π΅ΡΡ, Π²Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π½ΠΎΠ²ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅:
Π Π·Π΄Π΅ΡΡ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Β«ΡΡΡΡΡΠΈΠΊΒ»:
ΠΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠ·Π½ΡΡΡΠΈ?
ΠΠΎΠ³Π΄Π° Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ count++ ΠΈΠ·Π½ΡΡΡΠΈ-Π½Π°ΡΡΠΆΡ. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΡΡΠ΅ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΎΠΉ:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° Π²ΠΎΠΏΡΠΎΡΠ°:
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΡΠ΅Π½ΠΈΠ΅.
Π₯ΠΎΡΠΎΡΠΎ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΡΠ²Π΅ΡΠΈΠΌ Π½Π° Π²ΠΎΠΏΡΠΎΡΡ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΠΈΡΡΠ°ΡΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ½Π°. ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠΈΡΡΠ°ΡΠΈΠΉ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, Π½ΠΎ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΅ΡΡΡ ΡΡΠ΄ Π΄Π΅ΡΠ°Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ, Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ, ΠΎΠΏΡΡΡΠΈΠ»ΠΈ. ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
ΠΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄Π΅ΡΠ°Π»ΡΡ
ΠΠΎΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ makeCounter ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ. ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΠΈΡ , ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΄Π΅ΡΠ°Π»ΡΡ.
ΠΠΎΠ³Π΄Π° ΡΠΊΡΠΈΠΏΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅:
ΠΡ Π΅ΡΡ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎΠ± ΡΡΠΎΠΌ, ΡΡΠΎ ΡΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π½Π°ΡΡ, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, makeCounter ΡΠΎΠ·Π΄Π°Π½ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΌ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, ΡΠ°ΠΊ ΡΡΠΎ [[Environment]] ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠ»ΠΊΡ Π½Π° Π½Π΅Π³ΠΎ.
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ ΠΎΠ½Π° Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π°. Π [[Environment]] β ΡΠΊΡΡΡΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡ ΡΡΡΠ»ΠΊΡ.
Π ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ·ΠΎΠ²Π° makeCounter() ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ°ΠΊ ΠΈ Π²ΡΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΠΎΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π²Π΅ Π²Π΅ΡΠΈ:
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ makeCounter() ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠ»Ρ Π½Π°ΡΠ΅ΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ [[Environment]] Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ makeCounter() (Π³Π΄Π΅ ΠΎΠ½Π° Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π°):
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π° ΡΡΠΎΠΌ ΡΠ°Π³Π΅ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π°, Π½ΠΎ Π΅ΡΡ Π½Π΅ Π²ΡΠ·Π²Π°Π½Π°. ΠΠΎΠ΄ Π²Π½ΡΡΡΠΈ function() < return count++ >Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ, Π²ΡΠ·ΠΎΠ² makeCounter() Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ (Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ) ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ counter :
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π², ΠΎΠ±ΡΠ΅ΠΊΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄ΠΎ ΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠΊΠ° Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. Π ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΊΠΈΡ Π½Π΅ ΠΎΡΡΠ°ΡΡΡΡ, ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ½ΠΈΡΡΠΎΠΆΠ°Π΅ΡΡΡ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ counter() ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΡΠΎΡΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΈΠ· Π½Π°ΡΠ°Π»Π° Π³Π»Π°Π²Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½.
Π€ΡΠ½ΠΊΡΠΈΡ work() Π² ΠΊΠΎΠ΄Π΅ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ name ΠΈΠ· ΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π°, ΡΠ΅ΡΠ΅Π· ΡΡΡΠ»ΠΊΡ Π½Π° Π²Π½Π΅ΡΠ½Π΅Π΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅:
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΅ΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΡΠ΅ΡΠΌΠΈΠ½: Β«Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅Β», β ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ.
ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΠ²ΠΎΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ Π½ΠΈΠΌ Π΄ΠΎΡΡΡΠΏ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ·ΡΠΊΠ°Ρ ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅. ΠΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅, Π² JavaScript, Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ²Π»ΡΡΡΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡΠΌΠΈ (Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎ ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ Π² Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ «new Function»).
Π’ΠΎ Π΅ΡΡΡ, ΠΎΠ½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ, Π³Π΄Π΅ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΡΡΡΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° [[Environment]] ΠΈ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ.
ΠΠΎΠ³Π΄Π° Π½Π° ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ: Β«ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅?Β», β ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΠΎΡΠ²Π΅ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠ°, ΡΡΠΎ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² JavaScript ΡΠ²Π»ΡΡΡΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡΠΌΠΈ, ΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ² ΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π΅ΡΠ°Π»ΡΡ : ΡΠ²ΠΎΠΉΡΡΠ²Π΅ [[Environment]] ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΡΠΈΠΊΠ»Ρ, IIFE
ΠΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡ . ΠΠΎ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π»Ρ Π»ΡΠ±ΡΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π° <. >.
ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠΠΎΡ ΠΏΠ°ΡΠ° ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ user ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² Π±Π»ΠΎΠΊΠ΅ if :
For, while
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: let i Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ½Π°ΡΡΠΆΠΈ <. >. ΠΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ for β ΠΎΡΠΎΠ±Π΅Π½Π½Π°Ρ Π² ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅, Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ i Π² Π½ΡΠΌ.
ΠΠ»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Β«ΠΏΡΠΎΡΡΡΠ΅Β» Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° <. >, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Β«Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈΒ».
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π²ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ (ΠΊΡΠΎΠΌΠ΅ type=»module» ) ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΠΎΠ΄Π½Ρ ΠΎΠ±ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ. Π’Π°ΠΊ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ΅, ΠΎΠ½Π° ΡΡΠ°Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ . ΠΠΎ ΡΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², Π΅ΡΠ»ΠΈ Π΄Π²Π° ΡΠΊΡΠΈΠΏΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°.
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ, Π΅ΡΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ β ΡΠΈΡΠΎΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ, Π° Π°Π²ΡΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ° Π½Π΅ Π·Π½Π°ΡΡ Π΄ΡΡΠ³ ΠΎ Π΄ΡΡΠ³Π΅.
ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΡΠΎΠ³ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ Π²ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΅Π³ΠΎ ΡΠ°ΡΡΠΈ:
ΠΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ Π±Π»ΠΎΠΊΠ° Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΄ ΡΠ½Π°ΡΡΠΆΠΈ Π½Π΅Π³ΠΎ (ΠΈΠ»ΠΈ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ΅) Π½Π΅ Π²ΠΈΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°.
Π ΠΏΡΠΎΡΠ»ΠΎΠΌ Π² JavaScript Π½Π΅ Π±ΡΠ»ΠΎ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°.
Π’Π°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΡΠΎ-ΡΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ. Π ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«immediately-invoked function expressionsΒ» (Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° IIFE), ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ.
ΠΡΠΎ Π½Π΅ ΡΠΎ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ, Π½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΡΡΠΎ Π² ΡΡΠ°ΡΡΡ ΡΠΊΡΠΈΠΏΡΠ°Ρ , ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ.
ΠΠ΄Π΅ΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Function Expression. Π’Π°ΠΊ ΡΡΠΎ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΈ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΊΠ°ΠΆΠ΅ΠΌ: Β«Ρ ΠΎΡΠΎΡΠΎ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈΠΌΡΒ», β ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ JavaScript Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ Function Declaration Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.
Π’Π°ΠΊ ΡΡΠΎ, ΡΠΊΠΎΠ±ΠΊΠΈ Π²ΠΎΠΊΡΡΠ³ ΡΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠΎ ΡΡΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ JavaScript, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅: Π΅ΠΉ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΡ ΠΈ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.
ΠΡΠΎΠΌΠ΅ ΡΠΊΠΎΠ±ΠΎΠΊ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΡΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ JavaScript, ΡΡΠΎ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ Π² Π²ΠΈΠ΄Ρ Function Expression:
ΠΠΎ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ Function Expression ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ. ΠΡΡ ΡΠ°Π· Π·Π°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΊΠΎΠ΄.
Π‘Π±ΠΎΡΠΊΠ° ΠΌΡΡΠΎΡΠ°
ΠΠ±ΡΡΠ½ΠΎ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΡΠ°Π΅ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ΄Π΅ΡΡ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ f() Π·Π°Π²Π΅ΡΡΠΈΡΡΡ, ΡΡΠΎ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π΅Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡΡ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ f() Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ, ΡΠΎΠ³Π΄Π° Π²ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ Π΄Π΅ΡΠΆΠ°ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎΡ ΡΡΠΈ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅ Π½ΠΈΠΆΠ΅:
ΠΠ±ΡΠ΅ΠΊΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΠΌΠΈΡΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ (ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ). ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΎΠ½ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ ΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠΊΠ° Π΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° Π½Π΅Π³ΠΎ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅, ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ g ΡΡΠ°Π½Π΅Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ, Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, value ) Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΎ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ;
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ, Π² ΡΠ΅ΠΎΡΠΈΠΈ, ΠΏΠΎΠΊΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΆΠΈΠ²Π°, Π²ΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΎΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ.
ΠΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π΄Π²ΠΈΠΆΠΊΠΈ JavaScript ΠΏΡΡΠ°ΡΡΡΡ ΡΡΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ½ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ, Π΅ΡΠ»ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎ ΠΊΠΎΠ΄Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Π²Π½Π΅ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ β ΠΎΠ½Π° ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² Π² V8 (Chrome, Opera) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅.
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π² Chrome Ρ ΠΎΡΠΊΡΡΡΠΎΠΉ Developer Tools.
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ β ΡΠ°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ! Π ΡΠ΅ΠΎΡΠΈΠΈ, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π°, Π½ΠΎ ΠΏΠΎΠΏΠ°Π»Π° ΠΏΠΎΠ΄ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π΄Π²ΠΈΠΆΠΊΠ°.
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ Π·Π°Π±Π°Π²Π½ΡΠΌ (Π΅ΡΠ»ΠΈ ΡΠ΄Π°ΡΡΡΡ ΡΠ΅ΡΠΈΡΡ Π±ΡΡΡΡΠΎ) ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅. ΠΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ β ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π΅ ΡΡ Π²Π½Π΅ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡΡ :
ΠΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ V8 ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ. ΠΡΠ»ΠΈ Π²Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΠ΅ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΎΠΉ Π² Chrome/Opera, ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²Ρ Ρ Π½Π΅ΠΉ Π²ΡΡΡΠ΅ΡΠΈΡΠ΅ΡΡ.
ΠΡΠΎ Π½Π΅ Π±Π°Π³ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅, Π° ΡΠΊΠΎΡΠ΅Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ V8. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ. ΠΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ, Π·Π°ΠΏΡΡΡΠΈΠ² ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅.
ΠΠ°Π΄Π°ΡΠΈ
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΡ Π»ΠΈ ΡΡΡΡΡΠΈΠΊΠΈ?
ΠΠ½ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ? Π§ΡΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²ΡΠΎΡΠΎΠΉ ΡΡΡΡΡΠΈΠΊ? 0,1 ΠΈΠ»ΠΈ 2,3 ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π΅ΡΡ?
ΠΡΠ²Π΅Ρ: 0,1.