Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ scope
ΠΡΡ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠ΅Π»ΠΈ Π·Π½Π°ΡΡ ΠΎΠ± ΠΎΠ±Π»Π°ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² JavaScript (Π½ΠΎ Π±ΠΎΡΠ»ΠΈΡΡ ΡΠΏΡΠΎΡΠΈΡΡ)
Π£ JS Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΎΠ±Π»Π°ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ (scope), ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΡΠ½Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ (ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ ΠΎΠΏΡΡΠ½ΡΠΌ). ΠΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΡΠ΅ΠΌ, ΠΊΡΠΎ ΡΡΡΠ΅ΠΌΠΈΡΡΡ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ Π² ΠΏΡΡΠΈΠ½Ρ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ JS, ΡΡΠ»ΡΡΠ°Π² ΡΠ°ΠΊΠΈΠ΅ ΡΠ»ΠΎΠ²Π°, ΠΊΠ°ΠΊ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅, βthisβ, ΠΎΠ±Π»Π°ΡΡΡ ΠΈΠΌΡΠ½, ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈβ¦ ΠΠ°Π΄Π΅ΡΡΡ, ΠΏΠΎ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
β ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ?
β ΡΡΠΎ Π΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ/Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΠ?
β ΡΡΠΎ Π΅ΡΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΡΠ½ ΠΈ ΡΠ΅ΠΌ ΠΎΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΠ?
β ΡΡΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ this, ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Ρ ΠΠ?
β ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΈ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΠ?
β ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅?
β ΠΊΠ°ΠΊ ΠΌΠ½Π΅ Π²ΡΡ ΡΡΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΈ ΡΠΎΡΠ²ΠΎΡΠΈΡΡ?
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ?
Π JS ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ β ΡΡΠΎ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π² ΠΊΠΎΠ΄Π΅. ΠΠ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ. ΠΠ»ΡΡ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠ»Π΅Π½Π΅ΠΏΡΠΎΠ±ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° β ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΠ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ, Π³Π΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ, ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄ (ΠΊΠΎΡΠΎΡΡΠΉ ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π±ΡΡΡΡΠ΅Π΅). Π Π°Π·Π±ΠΈΡΠ°ΡΡΡΡ Ρ ΠΠ ΠΏΡΠΎΡΡΠΎ β Π·Π°Π΄Π°ΡΠΌ ΡΠ΅Π±Π΅ Π²ΠΎΠΏΡΠΎΡ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· ΠΠ ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ, Π² Π ΠΈΠ»ΠΈ Π² Π?
Π§ΡΠΎ Π΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ/Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΠ?
ΠΠ΅ Π½Π°ΠΏΠΈΡΠ°Π² Π½ΠΈ ΡΡΡΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΌΡ ΡΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΠ. ΠΡΠ»ΠΈ ΠΌΡ ΡΡΠ°Π·Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΎΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΠ.
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΠ β Π²Π°Ρ Π»ΡΡΡΠΈΠΉ Π΄ΡΡΠ³ ΠΈ Ρ ΡΠ΄ΡΠΈΠΉ ΠΊΠΎΡΠΌΠ°Ρ. ΠΠ±ΡΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΠ, Π²Ρ Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΠ, ΡΠ°Π·Π²Π΅ ΡΡΠΎ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠΌΡΠ½. Π§Π°ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ»ΡΡΠ°ΡΡ Β«Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΠ β ΡΡΠΎ ΠΏΠ»ΠΎΡ ΠΎΒ», Π½ΠΎ Π½Π΅ΡΠ°ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ β ΠΏΠΎΡΠ΅ΠΌΡ. ΠΠΠ β Π½Π΅ ΠΏΠ»ΠΎΡ ΠΎ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ API, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΠΠ, ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Ρ Π½Π° ΠΏΠΎΠ»ΡΠ·Ρ ΠΈ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ.
ΠΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ jQuery. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ
ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ jQuery Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΠ, ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π·Π²Π°ΡΡ ΡΡΠΎΡ Π΄ΠΎΡΡΡΠΏ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ ΠΈΠΌΡΠ½. ΠΠ½ΠΎΠ³Π΄Π° ΡΠ΅ΡΠΌΠΈΠ½ Β«ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΡΠ½Β» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π° ΠΠ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΠ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ jQuery Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΠ, ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠΈΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ ΠΈΠΌΡΠ½. ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΡΠ½ jQuery ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΠ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΠΠ Π΄Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ jQuery, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π²ΡΡ Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΠ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΠ?
ΠΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΠ Π½Π°Π·ΡΠ²Π°ΡΡ Π»ΡΠ±ΡΡ ΠΠ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΏΠΎΡΠ»Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ. ΠΠ±ΡΡΠ½ΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠ΄Π½Π° ΠΠΠ, ΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ΡΡΡ Π² ΡΠ΅Π±Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΠ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½Π°Ρ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΠ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Ρ ΠΠ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠ»ΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π·Π°Π΄Π°ΠΌ Π²Π½ΡΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠ½ΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΠ. ΠΡΠΈΠΌΠ΅Ρ:
ΠΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΠΠΠ Π½Π΅ Π²ΠΈΠ΄Π½Ρ Π² ΠΠΠ. Π Π½ΠΈΠΌ Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠ½Π°ΡΡΠΆΠΈ Π½Π°ΠΏΡΡΠΌΡΡ. ΠΡΠΈΠΌΠ΅Ρ:
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ βnameβ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΠ, ΠΎΠ½Π° Π½Π΅ Π²ΠΈΠ΄Π½Π° ΡΠ½Π°ΡΡΠΆΠΈ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΠ.
ΠΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΠ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΠ, ΠΎΠ½ΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠΈΠΊΠ»Π°ΠΌΠΈ ΡΠΈΠΏΠ° for ΠΈΠ»ΠΈ while ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΠΌΠΈ ΡΠΈΠΏΠ° if ΠΈΠ»ΠΈ switch. ΠΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ β Π½ΠΎΠ²Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠΈΠΌΠ΅Ρ:
Π’Π°ΠΊ ΠΏΡΠΎΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΠ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΠ
ΠΡΠ»ΠΈ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠΉ, Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΠ Π²Π½Π΅ΡΠ½Π΅ΠΉ. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΠΒ», ΠΈΠ»ΠΈ Β«Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ΠΌΒ», ΠΈΠ»ΠΈ Π΅ΡΡ Β«ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΠΒ».
Π‘ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΠ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ β Π²ΡΡ, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π² ΠΠ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π² ΠΠ ΡΠ΅Π±Π΅Π½ΠΊΠ°. Π ΠΏΡΠΈΠΌΠ΅ΡΡ:
Π ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΡΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
ΠΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° βnameβ, Π½ΠΎ Π½Π΅ ΡΠ°ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ.
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΠ
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΠ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΠ Π»ΡΠ±ΠΎΠΉ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΅ΡΡΡ ΡΠ²ΠΎΡ ΠΠ, ΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠΉ, ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΠΠ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΠ Π²Π½Π΅ΡΠ½Π΅ΠΉ β ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΈΠ»ΠΈ ΡΠ΅ΠΏΠΎΡΠΊΠ°. ΠΠΎΠ·ΠΈΡΠΈΡ Π² ΠΊΠΎΠ΄Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΠ. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, JS ΠΈΠ΄ΡΡ ΠΎΡ ΡΠ°ΠΌΠΎΠΉ Π³Π»ΡΠ±ΠΎΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΠ Π½Π°ΡΡΠΆΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄ΡΡ ΠΈΡΠΊΠΎΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ.
ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΡ
ΠΠΈΠ²ΡΡ Π² ΡΠ΅ΡΠ½ΠΎΠΌ ΡΠΎΡΠ·Π΅ Ρ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΠ. Π₯ΠΎΡΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½Π°ΡΡΠΆΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π²Π½ΡΡΡΠΈ.
Π§ΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½ ΡΠ΅ΠΊΡΡ, Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ sayHello:
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅Ρ Π½Π°Π΄ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ, Π° ΠΏΠΎΡΠΎΠΌ Π²ΡΠ·Π²Π°ΡΡ:
ΠΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ ΠΈ Π½Π°ΠΏΡΡΠΌΡΡ:
ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΡΡΠΎ ΡΠΏΡΠΎΡΡΠ½Π½ΠΎ ΠΈΡ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
Π€ΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½Π° Π½ΠΈΡΠ΅Π³ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ΠΌ. ΠΡΠ±ΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΈΠ·Π²Π½Π΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΠ ΡΠΎΠ·Π΄Π°ΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅.
ΠΠ ΠΈ ‘this’
ΠΠ°ΠΆΠ΄Π°Ρ ΠΠ Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ ΡΠ²ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ βthisβ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π° Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ this, Π½ΠΎ Π½Π΅ Π²ΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π°Ρ . ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΎΠ½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ°ΠΌΠΎΠΉ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΠ, ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΠΎΠΊΠ½Ρ. ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π·Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ this:
ΠΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ this. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΠ ΠΌΠΎΠ³ΡΡ ΠΌΠ΅Π½ΡΡΡΡΡ:
ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½ΠΎΠ²ΡΡ ΠΠ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅ ΠΈΠ· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ, Π° Π·Π½Π°ΡΠΈΡ, ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ window. ΠΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ this Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΡΠΎΠ±Ρ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ ΠΏΡΡΠ°Π½ΠΈΡΡ:
ΠΠ½ΠΎΠ³Π΄Π° Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΌΠ΅Π½ΡΡΡ ΠΠ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ this Π½Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ, ΠΌΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΠ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΡ ΠΠ (ΡΠΎΡΠ½Π΅Π΅, ΠΌΡ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ).
.bind() Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π° ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π΅Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ. ΠΠ°ΠΊ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, ΡΠΎΠ·Π΄Π°Π² Π½ΠΎΠ²ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ:
ΠΡΠΈΠ²Π°ΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΠΠ
Π JavaScript, Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², Π½Π΅Ρ ΠΏΠΎΠ½ΡΡΠΈΠΉ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΡ ΠΠ, Π½ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠΉ ΠΠ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π΅ΡΠ½ΡΡΡ Π½Π°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π½Π°ΠΏΡΡΠΌΡΡ Π½Π΅Π»ΡΠ·Ρ:
ΠΠΎΡ Π²Π°ΠΌ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½Π°Ρ ΠΠ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΏΡΠ±Π»ΠΈΡΠ½Π°Ρ ΠΠ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΡΡΠΊΠΎΠΌ. Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΡΠ½ Module, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΡ, ΠΎΡΠ½ΠΎΡΡΡΠ΅Π΅ΡΡ ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ:
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° return Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ, Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΠ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ΠΈ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ ΠΈΠΌΡΠ½. ΠΠΎΠ΄ΡΠ»Ρ Module ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΠΎ.
ΠΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠ°ΡΠ°ΡΡΡΡ Π²ΡΠ²Π°Π»ΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΠ ΠΈ Π·Π°Π³ΡΡΠ·Π½ΡΡΡ Π΅Ρ. ΠΠΎΡ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΡ ΠΠ, Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ publicMethod, Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ privateMethod β ΠΎΠ½ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠΉ ΠΠ. Π ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΡΠ½ΡΡΡ Π²ΡΡ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ β addClass, removeClass, Π²ΡΠ·ΠΎΠ²Ρ Ajax/XHR, Array, Object, ΠΈ Ρ.ΠΏ.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΠΎΠ²ΠΎΡΠΎΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΠ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠ· ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΠ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ:
ΠΡΠΎ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ΄Π°. Π Π°Π΄ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π½Π΅ ΡΡΠΎΠΈΡ Π²ΡΠ²Π°Π»ΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΠ, ΡΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, Π½Π΅ Π²ΡΠ·Π²Π°Π»ΠΈ Π±Ρ Π½Π΅Π½Π°ΡΠΎΠΊΠΎΠΌ.
ΠΡΠΈΠΌΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΡ ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²:
Π£Π΄ΠΎΠ±Π½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΠΏΠΎΠ΄ΡΡΡΠΊΠΈΠ²Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡ ΠΈΡ ΠΎΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ :
Π£Π΄ΠΎΠ±Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΏΠΈΡΠΊΠΎΠΌ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠ½ΠΎΠ²Ρ
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΈΠ΄Π΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π° ΠΏΠΎΠ·ΠΆΠ΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΡ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠ°Π²ΠΈΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡ Π½Π°ΠΉΡΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠ΅ΡΠΊΠΈΠΌΠΈ Π³ΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ. ΠΡΠΈ Π³ΡΠ°Π½ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ Π½Π°ΠΌ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎ ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ (ΠΈΠΌΠ΅Π½ΠΈ).
ΠΡΠ»ΠΈ Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΡΠΎ ΠΎΠ½ΠΎ Π·Π²ΡΡΠΈΡ ΡΠ°ΠΊ:
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ βΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈβ (Π°Π½Π³Π». variable scope ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ scope) β ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ (ΠΈΠΌΠ΅Π½Π΅ΠΌ), ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π»ΠΈΠ±ΠΎ Π±ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΌ (Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Π½ΠΈ Ρ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ).
ΠΠ»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ. ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΡΠ»Π° Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π΅Π»ΠΎΠ²Π°Ρ Π²ΡΡΡΠ΅ΡΠ° Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΠΈΠ·Π½Π΅Ρ-ΡΠ΅Π½ΡΡΠ΅, Π³Π΄Π΅ ΠΎΠ½ ΡΠ°Π½ΡΡΠ΅ Π½Π΅ Π±ΡΠ». ΠΠ½ Π·Π°Ρ ΠΎΠ΄ΠΈΡ Π² Π½ΡΠΆΠ½ΡΠΉ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ ΠΈ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΠΌ Π΅ΡΠ΅ Π½ΠΈΠΊΠΎΠ³ΠΎ Π½Π΅Ρ, ΠΎΠ½ ΡΠ΅ΡΠ°Π΅Ρ ΡΠ·Π½Π°ΡΡ Π²ΡΠ΅ΠΌΡ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ ΡΠ°ΡΡ. ΠΡΠΎΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΡΠ°ΡΡ, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠ°ΡΡ ΠΈ ΡΠ·Π½Π°ΡΡ ΠΏΠΎ Π½ΠΈΠΌ Π²ΡΠ΅ΠΌΡ.
ΠΠΎΡΡΠΎΠΌΡ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ βΠ½Π°ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠ°ΡΡβ, Π² JavaScript ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠ°ΠΊ
Π Π°Π·ΠΎΠ²ΡΠ΅ΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Π΄Π°Π»ΡΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ Ρ ΠΎΡΡ ΡΠ°ΡΠΎΠ² Π² ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅ ΠΈ Π½Π΅Ρ, ΡΡΠΎΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π·Π½Π°Π΅Ρ, ΡΡΠΎ Π² Ρ ΠΎΠ»Π»Π΅ Π·Π΄Π°Π½ΠΈΡ Π΅ΡΡΡ Π½Π°ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΡΡ. ΠΠ½ Π·Π½Π°Π΅Ρ ΠΎΠ± ΡΡΠΎΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΎΡ ΠΎΠ΄Ρ Π² ΠΊΠ°Π±ΠΈΠ½Π΅Ρ, ΠΎΡΠΌΠ΅ΡΠΈΠ» ΠΈΡ Π½Π°Π»ΠΈΡΠΈΠ΅. Π ΠΏΠΎΡΡΠΎΠΌΡ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (Π²ΡΠ΅ΠΌΡ) ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ β βΠ²ΡΠ³Π»ΡΠ½ΡΡΡβ ΠΈΠ· ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ° ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° Π½Π°ΡΡΠ΅Π½Π½ΡΡ ΡΠ°ΡΠ°Ρ .
Π ΡΡΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Π·Π΄Π°Π½ΠΈΠ΅ β ΡΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ βΠΊΠ°Π±ΠΈΠ½Π΅Ρβ. Π Π΄Π°Π½Π½ΠΎΠΌ Π·Π΄Π°Π½ΠΈΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ βΡΠ°ΡΡβ ( clock ) ΡΠ²ΡΠ·Π°Π½ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ βΠ½Π°ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΡΡ Π² Ρ ΠΎΠ»Π»Π΅β. Π ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ. ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ ΠΈ Π² Π·Π΄Π°Π½ΠΈΠΈ Π½Π΅Ρ ΡΠ°ΡΠΎΠ², Π½ΠΎ ΠΎΠ½ΠΈ Π΅ΡΡΡ Π½Π° ΡΠ»ΠΈΡΠ΅. ΠΠΎΡΡΠΎΠΌΡ, Π΄Π°ΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡ Π² ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ β Π²ΡΠ³Π»ΡΠ½ΡΡΡ Π½Π° ΡΠ»ΠΈΡΡ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠ»ΠΈΡΠ½ΡΡ ΡΠ°ΡΠ°Ρ .
Π JavaScript ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ (ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ) ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ (Π±Π»ΠΎΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ).
ΠΠΎΡΡΠΎΠΌΡ, ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΡΠ°ΡΠ°ΠΌΠΈ Π½Π° JavaScript ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ:
Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ½Π°ΡΡΠΆΠΈ, ΡΠΎ Π΅ΡΡΡ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°ΡΡ Π΅ΡΡΡ Π² ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅, Π° ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π·Π΄Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π½Π° ΡΠ»ΠΈΡΠ΅, Π³Π΄Π΅ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ°ΡΠΎΠ², ΡΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡ ΠΊ ΡΠ°ΡΠ°ΠΌ Π² ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅ ΠΎΠ½ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΎΠ½ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ°, ΠΏΠΎΠΊΠ° ΡΡΠ΄Π° Π½Π΅ Π·Π°ΠΉΠ΄Π΅Ρ.
ΠΡΠ»ΠΈ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π±ΡΠ»Π° Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΎΡΠΎΠ²ΡΡΠ΄Ρ, ΡΠΎ Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π²Π½Π΅ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΎ Π΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ.
Π Π½Π°ΡΠ΅ΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ, ΠΏΡΡΡΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅Π»Π΅Π½Π½Π°Ρ, Π³Π΄Π΅ Π΅ΡΡΡ ΡΠ°ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΈΠ· Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΊΠΈ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ· Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’ΠΎ Π΅ΡΡΡ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ, ΡΠ°ΠΌΠΎΠΉ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ½Π°ΡΡΠΆΠΈ, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ. ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΎΠΌ, ΡΡΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π° Π½ΠΈ Π² ΠΊΠ°ΠΊΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½Π΅ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ²Π»ΡΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π΄Π»Ρ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² Π½Π΅Ρ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ clock Π½Π°Ρ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ:
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΎΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π±ΡΠ°ΡΡΡΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π³Π΄Π΅ ΠΎΠ½Π° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ βΠ·Π°ΡΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ β, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΠΊΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΊΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΉ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΠΎΠ±ΡΠ΅, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ Π½Π΅ΡΡΠ½ΠΎΡΡΠΈ Π² ΡΠΎΠΌ, Π² ΠΊΠ°ΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠΎ Ρ ΡΠ°Π½ΠΈΡΡΡ, Π»ΡΡΡΠ΅ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π·Π°ΡΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
ΠΠΎΠΊΠ° Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠ°Π·Π±ΠΈΡΠ°Π»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. ΠΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π±Π»ΠΎΠΊΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² JavaScript scope
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² JavaScript scope (ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±Π»ΠΎΠΊΠ°).
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ»ΠΈ Scope
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ (scope) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΠ»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ (Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°) Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ»ΠΈ Global Scope
Π JavaScript Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ. ΠΠ±Π»Π°ΡΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΡΡ, ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π² Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ .
ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ»ΠΈ Local Scope
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ , ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π²Π·Π°ΠΈΠΌΠ½ΠΎ Π²ΠΈΠ΄ΠΈΠΌΡΠΌΠΈ.
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±Π»ΠΎΠΊΠ°
ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΏΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π° Π½Π΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π½Π°ΠΏΡΠΎΡΠΈΠ², Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈ Π³Π΄Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ, Π° ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ΅ΠΌ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΠ΅ΠΏΠΎΡΠΊΠ° ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π° Π½Π΅ Π½Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² ΠΊΠΎΠ΄Π΅.
ΠΠ°ΠΊ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ?
ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΡΡΠΎ ΡΡΠΎ ΡΡΡΠ°Π½Π½ΠΎ.
ΠΠΎ JavaScript, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠ±Π»Π°ΡΡΡ. Π Π²ΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ this ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ.
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ: this Π·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°ΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ½ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ this ΡΠ²ΡΠ·Π°Π½ Ρ ΠΈΠ΄Π΅Π΅ΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ Π² JavaScript
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Β«JavaScript Scope and ClosuresΒ» ΠΏΠΎΠ΄ Π°Π²ΡΠΎΡΡΡΠ²ΠΎΠΌ Zell Liew, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π·Π΄Π΅ΡΡ.
ΠΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ Π²Π°ΠΆΠ½Ρ Π² JavaScript, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΡΠ±ΠΈΠ²Π°Π»ΠΈ ΠΌΠ΅Π½Ρ Ρ ΡΠΎΠ»ΠΊΡ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π» ΠΈΡ ΠΈΠ·ΡΡΠ°ΡΡ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΡΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π½ΠΈΡ .
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² JavaScript ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²Π°ΠΌ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ: Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ.
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π²Π½Π΅ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ»ΠΈ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ ( <> ), ΡΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΎΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΡΠΎ Π²Π΅ΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ JavaScript Π² Π²Π΅Π± Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ . Π Node.js Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ ΠΈΠ½Π°ΡΠ΅, Π½ΠΎ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΊΠ°ΡΠ°ΡΡΡΡ Node.js Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π΅Π·Π΄Π΅ Π² ΠΊΠΎΠ΄Π΅, Π΄Π°ΠΆΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡΡ .
ΠΡΠ°ΠΊ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΅Π³Π΄Π° ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π° Π½Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅.
ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π°, ΡΡΠΈΡΠ°ΡΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠΌΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π’Π°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ.
Π JavaScript Π²ΡΠ΄Π΅Π»ΡΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ:
Π‘Π½Π°ΡΠ°Π»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½Π°Ρ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠ΄ ΡΠ½Π°ΡΡΠΆΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΊ Π½Π΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ°.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ hello Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ sayHello :
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±Π»ΠΎΠΊΠ°
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ hello Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ:
ΠΠ»ΠΎΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌ ΡΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Ρ.ΠΊ. ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Ρ ΡΠΈΠ³ΡΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ (ΠΊΡΠΎΠΌΠ΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΅Π»ΠΎΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ Π½Π΅ΡΠ²Π½ΡΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ).
ΠΠΎΠ΄ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ
Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ Β«function declarationΒ» (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².: ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΈΠ΄Π° function ΠΈΠΌΡ(ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ) ), Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡΡΡ Π½Π°Π²Π΅ΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π’Π°ΠΊ, Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½ΠΈΠΆΠ΅ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ:
ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Β«function expressionΒ» (ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅) (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².: ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΈΠ΄Π° var f = function (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ) ), ΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠ·-Π·Π° ΡΡΠΈΡ Π΄Π²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΠΎΠ΄ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΡΡ Ρ ΡΠΎΠ»ΠΊΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. ΠΡΠ΅Π³Π΄Π° ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠ±ΡΡΠ²Π»ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Π£ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠ±Π»Π°ΡΡΡΠΌ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ
Π€ΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠ±Π»Π°ΡΡΡΠΌ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ.
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ
ΠΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ.
Π ΡΠΎΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π²Π½Π΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΎΠ΄Π½ΠΎΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ Π·Π΅ΡΠΊΠ°Π»ΠΎ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Ρ , ΠΊΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π½ΠΎ ΡΠ΅, ΠΊΡΠΎ ΡΡΠΎΡΡ Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ (Π·Π΅ΡΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ), Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²ΠΈΠ΄Π΅ΡΡ Π²Π°Ρ.
ΠΡΠ»ΠΈ ΠΎΠ΄Π½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Π»ΠΎΠΆΠ΅Π½Ρ Π² Π΄ΡΡΠ³ΠΈΠ΅, ΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ΅ΠΊΠ»ΡΠ½Π½ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉ Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π²ΡΡΠ΅.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ½ΡΠ»ΠΈ Π²ΡΠ΅, ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π²Ρ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ.
ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΡ
ΠΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅. ΠΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ΠΌ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ΄, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠ² Π²ΠΎΠ·Π²ΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡΠΌ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π΄Π²ΡΡ ΡΠ΅Π»Π΅ΠΉ:
ΠΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ
ΠΠΎΠ±ΠΎΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠΌΠΈΠΌΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π΅ΡΠ΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΌ ΡΡΡΠ΅ΠΊΡΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ajax-Π·Π°ΠΏΡΠΎΡ, ΡΠ°ΠΉΠΌΠ΅Ρ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ console.log:
ΠΠΎΠ³Π΄Π° Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ², ΡΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΡΠ°ΡΡ ΠΊΠΎΠ΄ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ajax-Π·Π°ΠΏΡΠΎΡΡ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΡ).
ΠΠ»Ρ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΠΎΡΡ ΠΊΠΎ Π΄Π½Ρ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΡΡΠ³Π°. ΠΡΠΈΠ³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ° Π·Π°ΠΉΠΌΠ΅Ρ ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Β«ΡΠΎΡΡ ΠΈΡΠΏΠ΅ΡΡΠ½Β» ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΡΡΠΎΡΡ Π΄Π°Π»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΡΠ΅Π»ΠΎΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· ES6.
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
ΠΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠ΅ΡΡΠ½ ΡΠΎΠ²Π½ΠΎ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ, Π΄ΠΎΠΏΡΡΡΠΈΠΌ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΡΡ Π±ΡΠ» ΠΈΡΠΏΠ΅ΡΡΠ½ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΡΠ½Π΅Π½ΠΈΡ Π²ΠΊΡΡΠ°, Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΡΡ Π±ΡΠ» ΠΈΡΠΏΠ΅ΡΡΠ½ ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
Π‘ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΠΈ ΡΠΎΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²Π»Π΅Π½ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΊΡΠ½Π΄Ρ.
Π’Π°ΠΊ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² β Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ ΠΆΠ΅Π»Π°Π½ΠΈΡ.
ΠΡΠΈΠ²Π°ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡΠΌΠΈ
ΠΠ°ΠΊ Π²Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π½Π°Π΅ΡΠ΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ½Π°ΡΡΠΆΠΈ. ΠΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ, ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ saySecretCode β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ (Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ secretCode ΡΠ½Π°ΡΡΠΆΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ secret. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΠ°ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ.
ΠΡΠ»Π°Π΄ΠΊΠ° ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ DevTools
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° (DevTools) Chrome ΠΈ Firefox ΡΠΏΡΠΎΡΠ°ΡΡ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°.
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ±: Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ debugger Π² ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ JavaScript ΠΊΠΎΠ΄Π° Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ Ρ ΡΠ΅Π»ΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Ρ prepareCake :
ΠΡΠ»ΠΈ ΠΎΡΠΊΡΡΡΡ DevTools ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ Sources Π² Chrome (ΠΈΠ»ΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΡ Debugger Π² Firefox), ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ debugger Π²Π½ΡΡΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π² ΡΡΠΎΡ ΡΠ°Π·:
ΠΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±: Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π±ΡΠ΅ΠΉΠΊΠΏΠΎΠΈΠ½Ρ Π½Π°ΠΏΡΡΠΌΡΡ Π² ΠΊΠΎΠ΄ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Sources (ΠΈΠ»ΠΈ Debugger) ΠΏΡΡΠ΅ΠΌ ΠΊΠ»ΠΈΠΊΠ° Π½Π° Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ.
ΠΠ±Π»Π°ΡΡΡ ΠΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² JavaScript
Russian (PΡΡΡΠΊΠΈΠΉ) translation by Anton L (you can also view the original English article)
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΆΠ΅ Π΄Π²ΠΈΠΆΠΎΠΊ JavaScript «Π΄ΡΠΌΠ°Π΅Ρ» ΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΡΡ Π²Π°Ρ ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π²ΡΠΏΠ»ΡΡΠΈΠ΅ (hoisting), ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡ Π²Π°Ρ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡΠΌΠΈ (closures), ΠΈ Π²Π΅ΡΠΎΡΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ Π²Ρ Π½Π΅ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΡΡΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ.
. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ Π²ΡΠΏΠ»ΡΡΠΈΠ΅ ΠΈ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ.
Π Π½Π΅ΠΉ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ:
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ES6 ΠΈ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ JavaScript ΠΊΠΎΠ΄Π°, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π° ΠΊΡΡΡΠ°:
ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΠ±Π»Π°ΡΡΡ ΠΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π° Π·Π°Π΄Π°ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² JavaScript:
ΠΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΡΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ Π΄Π΅ΡΠ°Π»ΡΡ . ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ JavaScript ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠ°ΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ.
ΠΡΠΎΡΠ΅ΡΡ ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ: Π‘ ΠΡΡΠΎΡΡ ΠΡΠΈΡΡΠ΅Π³ΠΎ ΠΠΎΠ»ΡΡΠ°
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ JavaScript ΠΊΠΎΠ΄, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Π΄Π²Π΅ Π²Π΅ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΡΠ°Π²Π»ΡΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, JavaScript Π΄Π²ΠΈΠΆΠΎΠΊ:
Π¨Π°Π³ 1: ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²Π΅ΡΠ½ΡΡΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π’Π°ΠΌ Π½Π΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π½Π° ΡΡΠΎΠΌ ΡΠ°Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ.
Π ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π½Π°Π΅Ρ:
ΠΠ΅ Π²Π°ΠΆΠ½ΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ Π·Π°Π΄Π°Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ²ΠΈΠΆΠΎΠΊ JavaScript ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎΠ± ΡΡΠΎΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π¨Π°Π³ 2: ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π·Ρ, Π΄Π²ΠΈΠΆΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΡΠΈΡΠ°ΡΡ Π½Π°Ρ ΠΊΠΎΠ΄Π° ΡΠ½ΠΎΠ²Π°, Π½Π° ΡΡΠΎΡ ΡΠ°Π·, Π²ΡΠΏΠΎΠ»Π½ΡΡ Π΅Π³ΠΎ.
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ JavaScript ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΌΡ Π΄ΡΠΌΠ°Π»ΠΈ!
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΠΊΠ°ΠΊ JavaScript ΡΠΈΡΠ°Π΅Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ ΠΊΠΎΠ΄ ΠΈ ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²ΡΠΏΠ»ΡΡΠΈΠ΅.
ΠΡΠΏΠ»ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ ΠΠΈΠΊΡΠΎΡΠΊΠΎΠΏΠΎΠΌ
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½ΡΠΌ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ°ΠΏΡΡΡΠΈΠ² ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡΠΏΠ»ΡΡΠΈΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ JavaScript Π΄Π΅Π»Π°Π΅Ρ Π²ΡΠ΅ Π½Π°ΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π²Π΅Π·Π΄Π΅, Π² ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΏΠ»ΡΡΠΈΠ΅ ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ undefined ΠΈ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ, Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅Ρ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΠΎΡΠΈΡΠ΅ Π΅Π³ΠΎ ΠΎΠ± ΡΡΠΎΠΌ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠ½Π°Ρ ΠΎΠ± ΡΡΠΎΠΌ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°ΡΡ, ΡΡΠΎ JavaScript Π²ΠΈΠ΄ΠΈΡ Π² Π½Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ bar ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ:
ΠΡΠΎ ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΡΠ°Π²ΠΈΠ»ΠΎ ΠΡΠΏΠ»ΡΡΠΈΡ: ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π½ΠΎ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ undefined ΠΏΠΎΠΊΠ° Π² ΠΊΠΎΠ΄Π΅ ΠΈΠΌ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ». Π‘ΡΠ°Π·Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΏΠΎΡΠ΅ΠΌΡ bar Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΡΠ°ΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ Π΄Π²ΠΈΠΆΠΎΠΊ JavaScript ΡΠΈΡΠ°Π΅Ρ Π΅Π³ΠΎ, Π½Π΅ΠΏΡΠ°Π²Π΄-Π»ΠΈ? Π’Π°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ ΠΆΠ΅ Π½Π΅ ΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π°?
ΠΡΠΏΠ»ΡΡΠΈΠ΅ Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (Function Expression)
Π’ΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ TypeError ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠ³Π΄Π° ΠΏΡΡΠ°Π΅ΠΌΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ broken Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½Π° Π±ΡΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°, ΡΠΎΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΠΏΡΠ°Π²ΠΈΠ»Ρ Π²ΡΠΏΠ»ΡΡΠΈΡ.
ΠΡΠΏΠ»ΡΡΠΈΠ΅ ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π€ΡΠ½ΠΊΡΠΈΠΈ (Function Declaration)
ΠΡ ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π·Π½Π°Ρ ΡΡΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ bar Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ ΡΠΎ ΠΡΠΎΡΡΠΌ ΠΡΠ°Π²ΠΈΠ»ΠΎΠΌ ΠΡΠΏΠ»ΡΡΠΈΡ: ΠΊΠΎΠ³Π΄Π° JavaScript ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠΌΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ²Π΅ΡΡ Ρ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ Π½Π°Ρ ΠΊΠΎΠ΄:
Π ΠΎΠΏΡΡΡ ΠΆΠ΅, Π½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ-Π»ΠΈ Π²Π°ΠΌ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ ΠΏΠΈΡΠ°ΡΡ JavaScript ΠΊΠΎΠ΄, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΈΡΠ°Π΅Ρ Π΅Π³ΠΎ Π΄Π²ΠΈΠΆΠΎΠΊ?
ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ.
. Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠ±ΡΡΡ Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Ρ ΡΠ°Π½Π΅Π΅.
Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ Ρ Π²Π°Ρ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄ΡΡ Π³Π°ΡΠ°Π½ΡΠΈΠΈ, ΡΡΠΎ Ρ const Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΠ»ΠΈ.
ΠΠ±Π»Π°ΡΡΡ ΠΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΠ»ΠΎΠΊΠ°
Π£ let ΠΈ const Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ var : ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠ»ΠΈ Π²Ρ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· const ΠΈΠ»ΠΈ let Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ°, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ this ΠΈ ΡΡΡΠ΅Π»ΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ
ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°. Π JavaScript Π½Π΅ Π²Π°ΠΆΠ½ΠΎ Π³Π΄Π΅ Π²Ρ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ»ΠΎΠ²ΠΎ this :
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠΉ this Π²Π½ΡΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅, Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ this Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π΅ ΠΎΡ ΡΠΎΠ³ΠΎ Π³Π΄Π΅ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ, Π° ΠΎΡ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ Π΅Ρ Π²ΡΠ·Π²Π°Π»ΠΈ.
ΠΠΎΡ ΠΎΠΆΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅ Π»ΡΠ±ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ:
ΠΠ±ΡΡΠ½ΠΎ, Π·Π°ΡΡΠ°Π²ΠΈΡΡ this ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΡ ΠΏΡΡΠ΅ΠΉ:
Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΡΠ΅Π»ΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΠΊΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ this Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ this.
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ this Π² ΡΡΡΠ΅Π»ΠΎΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, JavaScript ΠΈΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°Π²Π΅ΡΡ Ρ, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ.
Π Π½Π°ΡΠ°Π»Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ this ΠΈΡΠ΅ΡΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΡΠ΅Π»ΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ this, ΡΠ°ΠΌ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ this Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡΡΡ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΉΠ΄ΡΡΡΡ ΡΠ°ΠΌ, ΡΠΎ ΠΎΠ½ΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ.
Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π²ΡΡΠ΅:
ΠΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ ΠΎ ΡΡΡΠ΅Π»ΠΎΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΎΡ Envato Tuts+ Dan Wellman Π² ΠΊΡΡΡΠ΅ ΠΡΠ½ΠΎΠ²Ρ JavaScript ES6, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ²Π΅ΡΡΡ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ MDN ΠΏΠΎ ΡΡΡΠ΅Π»ΠΎΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ c ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π°ΡΠ°Π»Π° ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ! ΠΡ ΡΠ·Π½Π°Π»ΠΈ:
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π΄Π²Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Π²ΡΠΏΠ»ΡΡΠΈΡ:
ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ JavaScript, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ°Π³Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ²Π΅ΡΡΡ Π²Π°ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΡΠΎ ΡΡΠ°ΡΡΡΠΉ ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΡ Kyle Simpson’Π°.
Π‘ΠΎ Π²ΡΠ΅ΠΌΠΈ Π½ΠΎΠ²ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ, Π½Π°ΡΠΈΠ½Π°ΠΉΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ!






