Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°

Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ JavaScript: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. image loader. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π° Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. image loader. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π° Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

Но ΠΌΡ‹ Π½Π΅ нашли Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ ΠΌΡ‹ΡˆΡŒΡŽ Ρ‚Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ интСрфСйса Π½Π΅ прСдусмотрСл. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ Π½Π° Π±ΠΎΠ»Π΅Π΅ слоТных уровнях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π΅ΠΌΡƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ наш Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ: ΠΌΡ‹ ΠΎΠ±ΡƒΡ‡Π°Π΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ языку.

ЧСловСчСскиС языки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ слова Π²Π΅Π»ΠΈΠΊΠΈΠΌ мноТСством способов, Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ языки устроСны ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, хотя ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈ грамматичСски.

Π—Π° послСдниС 20 Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ стала ΠΎΡ‡Π΅Π½ΡŒ распространённым явлСниСм, ΠΈ интСрфСйсы, построСнныС Π½Π° языкС (Π° ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ это Π±Ρ‹Π» СдинствСнный способ общСния с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ) ΠΏΠΎΡ‡Ρ‚ΠΈ вытСснСны графичСскими. Но ΠΎΠ½ΠΈ всё Π΅Ρ‰Ρ‘ Π΅ΡΡ‚ΡŒ – Ссли Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Π³Π΄Π΅ ΠΈΡ… ΠΈΡΠΊΠ°Ρ‚ΡŒ. Один ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… языков, JavaScript, встроСн ΠΏΠΎΡ‡Ρ‚ΠΈ Π² любой Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ доступСн ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ устройствС.

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° ставит Ρ†Π΅Π»ΡŒΡŽ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ вас с этим языком достаточно для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ.

О ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π― Π½Π΅ ΠΏΡ€ΠΎΡΠ²Π΅Ρ‰Π°ΡŽ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ ΠΆΠ°ΠΆΠ΄Π΅Ρ‚ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, ΠΈ Π½Π΅ ΠΏΠΎΠ±ΡƒΠΆΠ΄Π°ΡŽ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Если я ΠΏΠΎΠΊΠ°ΠΆΡƒ ΠΎΠ΄ΠΈΠ½ ΡƒΠ³ΠΎΠ» ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°, ΠΈ ΠΎΠ½ΠΈ Π½Π΅ приходят ΠΊΠΎ ΠΌΠ½Π΅ с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ трСмя – ΠΌΠ½Π΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… объяснСний.

ΠšΡ€ΠΎΠΌΠ΅ объяснСния JavaScript я Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ‡Ρƒ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ программирования. Как выясняСтся, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тяТСло. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ просты ΠΈ понятны. Но ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, построСнныС Π½Π° этих ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ…, становятся слоТными Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ вводят свои собствСнныС ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ ΡƒΡ€ΠΎΠ²Π½ΠΈ слоТности. Π’Ρ‹ строитС свой собствСнный Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π² Π½Ρ‘ΠΌ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒΡΡ.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ€Π΅ΠΌΠ΅Π½Π°ΠΌΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ вас. Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π²Π°Ρ€ΠΈΡ‚ΡŒ. Много ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π±ΡƒΠ΄Π΅Ρ‚ скомбинировано Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π΅Π³ΠΎ частями.

Π’Ρ‹ сами Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ этих усилий. Если Π²Π°ΠΌ тяТСло ΠΏΡ€ΠΎΠ΄ΠΈΡ€Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ½ΠΈΠ³Ρƒ, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ сСбС ΠΏΠ»ΠΎΡ…ΠΎ. Π‘ Π²Π°ΠΌΠΈ всё Π² порядкС – Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ просто ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π², Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π½Π°Π·Π°Π΄ – ΠΈ всСгда ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€ΠΎΡ‡Π»ΠΈ ΠΈ поняли ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ – это слоТная Ρ€Π°Π±ΠΎΡ‚Π°, Π½ΠΎ Ρ€Π°Π· Π²Ρ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΠ»ΠΈ, ΠΎΠ½ΠΎ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π²Π°ΠΌ, ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ дальнСйшиС шаги.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ создаёт всСлСнныС, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ ΠΎΠ΄ΠΈΠ½ Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅. Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы всСлСнныС практичСски Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ слоТности.

Π”ΠΆΠΎΠ·Π΅Ρ„ Π’Π°ΠΉΠ·Π΅Π½Π±Π°ΡƒΠΌ, Β«Π‘ΠΈΠ»Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈ Π Π°Π·ΡƒΠΌ людСй»

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° – слоТноС понятиС. Π­Ρ‚ΠΎ кусок тСкста, Π½Π°Π±Ρ€Π°Π½Π½Ρ‹ΠΉ программистом, это Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ сила, Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, это Π΄Π°Π½Π½Ρ‹Π΅ Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΈ ΠΏΡ€ΠΈ этом ΠΎΠ½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с этой ΠΆΠ΅ самой ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Аналогии, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ со Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌΠΈ Π½Π°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ с этим. Одна Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ подходящая – аналогия с машиной. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… частСй ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅, ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сСбС способы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ эти части Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ привносят Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ†Π΅Π»ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ – это машина, которая устроСна Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² сСбС эти Π½Π΅ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ машинки. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ сами ΠΏΠΎ сСбС ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ простыС дСйствия. Польза ΠΈΡ… Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΎΡ‡Π΅Π½ΡŒ быстро. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти дСйствия Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ ΠΎΡ‡Π΅Π½ΡŒ слоТныС дСйствия.

Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· нас ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ – это ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΈΠ³Ρ€Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° – это мыслСнная конструкция. НичСго Π½Π΅ стоит Π΅Ρ‘ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, ΠΎΠ½Π° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ вСсит, ΠΈ ΠΎΠ½Π° Π»Π΅Π³ΠΊΠΎ вырастаСт ΠΏΠΎΠ΄ нашими ΠΏΠ°Π»ΡŒΡ†Π°ΠΌΠΈ.

Если Π½Π΅ Π±Ρ‹Ρ‚ΡŒ остороТным, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выходят ΠΈΠ·-ΠΏΠΎΠ΄ контроля, запутывая Π΄Π°ΠΆΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Π΅Ρ‘ ΠΏΠΈΡˆΠ΅Ρ‚. Π­Ρ‚ΠΎ основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° программирования: ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. Когда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ – это прСкрасно. Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования – это ΡƒΠΌΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° находится ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ, ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° просто Π² своСй слоТности.

МногиС программисты вСрят, Ρ‡Ρ‚ΠΎ этой ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… нСбольшой Π½Π°Π±ΠΎΡ€ Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстных Ρ‚Π΅Ρ…Π½ΠΈΠΊ. Они описали строгиС ΠΏΡ€Π°Π²ΠΈΠ»Π° (Β«Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈΒ») Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ. И самыС рСвностныС срСди Π½ΠΈΡ… ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ отклоняСтся ΠΎΡ‚ этих ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ, ΠΏΠ»ΠΎΡ…ΠΈΠΌΠΈ программистами.

Π§Ρ‚ΠΎ Π·Π° Π²Ρ€Π°ΠΆΠ΄Π΅Π±Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ богатству программирования – ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π΄ΠΎ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ прямолинСйного ΠΈ прСдсказуСмого, Π½Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ‚Π°Π±Ρƒ Π½Π° всякиС странныС ΠΈ прСкрасныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹! Π›Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚ Ρ‚Π΅Ρ…Π½ΠΈΠΊ программирования ΠΎΠ³Ρ€ΠΎΠΌΠ΅Π½, ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»Π΅Π½ своим Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ΠΌ, ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΠ·ΡƒΡ‡Π΅Π½ ΠΌΠ°Π»ΠΎ. Π­Ρ‚ΠΎ опасноС ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅, Π·Π°ΠΌΠ°Π½ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ ΠΈ Π·Π°ΠΏΡƒΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π΅ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ программиста, Π½ΠΎ это всСго лишь ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ этим ΠΏΡƒΡ‚Ρ‘ΠΌ остороТно ΠΈ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ. По ΠΌΠ΅Ρ€Π΅ обучСния Π²Π°ΠΌ всСгда Π±ΡƒΠ΄ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Π½Π΅ΠΈΠ·Π²Π΅Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹, Π½Π΅ ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ΅, ΡΡ‚Π°Π³Π½ΠΈΡ€ΡƒΡŽΡ‚, Π·Π°Π±Ρ‹Π²Π°ΡŽΡ‚ свою Ρ€Π°Π΄ΠΎΡΡ‚ΡŒ, ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π° наскучиваСт ΠΈΠΌ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ язык ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Π’ Π½Π°Ρ‡Π°Π»Π΅, ΠΏΡ€ΠΈ Π·Π°Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… дисциплин, Π½Π΅ Π±Ρ‹Π»ΠΎ языков программирования. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выглядСли Ρ‚Π°ΠΊ:

Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‰Π°Ρ числа ΠΎΡ‚ 1 Π΄ΠΎ 10, ΠΈ выводящая Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (1 + 2 +… + 10 = 55). Она ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° ΠΎΡ‡Π΅Π½ΡŒ простой гипотСтичСской машинС. Для программирования ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π±Ρ‹Π»ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ большиС массивы ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±ΠΈΠ²Π°Ρ‚ΡŒ Π΄Ρ‹Ρ€ΠΊΠΈ Π² ΠΏΠ΅Ρ€Ρ„ΠΎΠΊΠ°Ρ€Ρ‚Π°Ρ… ΠΈ ΡΠΊΠ°Ρ€ΠΌΠ»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, какая это Π±Ρ‹Π»Π° ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ, подвСрТСнная ошибкам ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°. НаписаниС Π΄Π°ΠΆΠ΅ простых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ большого ΡƒΠΌΠ° ΠΈ дисциплины. Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΈ практичСски нСмыслимы.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ€ΡƒΡ‡Π½ΠΎΠΉ Π²Π²ΠΎΠ΄ этих мистичСских Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π±ΠΈΡ‚ (Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†) Π΄Π°Π²Π°Π» программисту Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‰ΡƒΡ‚ΠΈΡ‚ΡŒ сСбя волшСбником. И это Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ стоило Π² смыслС удовлСтворСния Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ.

КаТдая строка ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ содСрТит ΠΎΠ΄Π½Ρƒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ. На ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ языкС ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π»Π΅Π³Ρ‡Π΅ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ ΠΊΡƒΡ‡Ρƒ Π±ΠΈΡ‚, Π½ΠΎ ΠΎΠ½ всё Ρ€Π°Π²Π½ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π΅Π½. ИспользованиС ΠΈΠΌΡ‘Π½ вмСсто Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² инструкций ΠΈ ячССк памяти ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.

Π’ΠΎΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΆΠ΅ Π½Π΅ Ρ‚Π°ΠΊ слоТно ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π‘ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ΡΡŒ? ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π΅ строки Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ Π΄Π²ΡƒΠΌ областям памяти Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния. total Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для подсчёта Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° вычислСния, Π° count Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° числом, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π‘Ρ‚Ρ€ΠΎΡ‡ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ β€˜compare’, Π½Π°Π²Π΅Ρ€Π½ΠΎ, самыС странныС. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π½Π΅ Ρ€Π°Π²Π½ΠΎ Π»ΠΈ count 11, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ подсчёт. Π’Π°ΠΊ ΠΊΠ°ΠΊ наша вообраТаСмая машина довольно ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Π°, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° равСнство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΡƒΠ»ΡŽ, ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Π½Π°Π΄ΠΎ Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΡ€Ρ‹Π³Π½ΡƒΡ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ строку. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ β€˜compare’, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ count – 11 ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° основании этого значСния. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π΄Π²Π΅ строки Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ count Π² счСтчик Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ count Π½Π° 1 ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅ достигла значСния 11.

Π’ΠΎΡ‚ Ρ‚Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° JavaScript:

Π•Ρ‰Π΅ нСсколько ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ. Π“Π»Π°Π²Π½ΠΎΠ΅ – Π½Π΅Ρ‚ нСобходимости Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ строками. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ языка while Π΄Π΅Π»Π°Π΅Ρ‚ это сама. Она ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Π±Π»ΠΎΠΊ, Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹ΠΉ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки, ΠΏΠΎΠΊΠ° условиС выполняСтся (count

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Eloquent JavaScript

This is a book about JavaScript, programming, and the wonders of the digital. You can read it online here, or buy your own paperback copy.

Written by Marijn Haverbeke.

Licensed under a Creative Commons attribution-noncommercial license. All code in this book may also be considered licensed under an MIT license.

Illustrations by various artists: Cover and chapter illustrations by Madalina Tantareanu. Pixel art in Chapters 7 and 16 by Antonio Perdomo Pastor. Regular expression diagrams in Chapter 9 generated with regexper.com by Jeff Avallone. Village photograph in Chapter 11 by Fabrice Creuzot. Game concept for Chapter 16 by Thomas Palef.

The third edition was made possible by 325 financial backers, most notably Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. . Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π° Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. and Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. holberton. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π° Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°-holberton. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° holberton. ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.. The second edition was supported by 454 backers, with significant contributions from Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. mozilla mini. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π° Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°-mozilla mini. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° mozilla mini. ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚., Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. hack reactor mini. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π° Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°-hack reactor mini. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° hack reactor mini. ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚., and Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ghostery mini. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π° Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°-ghostery mini. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ghostery mini. ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚..

Contents

(Part 1: Language)

(Part 2: Browser)

(Part 3: Node)

A paper version of Eloquent JavaScript, including an additional chapter, is being brought out by No Starch Press.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Книга Β«Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ JavaScript. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. 3-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Β»

Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. hjacjwa9yynefuv1iquueauasum. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π° Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°-hjacjwa9yynefuv1iquueauasum. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° hjacjwa9yynefuv1iquueauasum. ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ! Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π² Ρ‚Π΅ΠΌΡƒ, Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ красивый ΠΈ эффСктивный ΠΊΠΎΠ΄. Π’Ρ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с синтаксисом, стрСлочными ΠΈ асинхронными функциями, ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ, ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΌΠΈ строками ΠΈ Π±Π»ΠΎΡ‡Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости.

ΠœΠ°Ρ€Π΅ΠΉΠ½ Π₯Π°Π²Π΅Ρ€Π±Π΅ΠΊΠ΅ β€” ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ. ΠŸΠΎΠ»ΡƒΡ‡Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ‹Ρ‚ ΠΈ ΠΈΠ·ΡƒΡ‡Π°ΠΉΡ‚Π΅ язык Π½Π° мноТСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², выполняя упраТнСния ΠΈ ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Π‘Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ со структурой языка JavaScript, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ структурами, функциями ΠΈ структурами Π΄Π°Π½Π½Ρ‹Ρ…, Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок ΠΈ исправлСниС Π±Π°Π³ΠΎΠ², ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ асинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, послС Ρ‡Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚Π΅ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ².

ΠžΠ±Π·ΠΎΡ€ этой ΠΊΠ½ΠΈΠ³ΠΈ

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° дСлится Π½Π° Ρ‚Ρ€ΠΈ большиС части. Π’ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… 12 Π³Π»Π°Π²Π°Ρ… обсуТдаСтся язык JavaScript. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ сСмь Π³Π»Π°Π² посвящСны Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌ ΠΈ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ JavaScript ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΈΡ… программирования. НаконСц, Π΄Π²Π΅ Π³Π»Π°Π²Ρ‹ посвящСны Node.js, Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ срСдС для программирования Π½Π° JavaScript.

На протяТСнии всСй ΠΊΠ½ΠΈΠ³ΠΈ Π²Π°ΠΌ встрСтится ΠΏΡΡ‚ΡŒ Π³Π»Π°Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… описаны Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΡ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ вкус настоящСго программирования. Π’ порядкС ΠΈΡ… появлСния ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ созданиСм Ρ€ΠΎΠ±ΠΎΡ‚Π° доставки, языка программирования, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, растрового графичСского Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΈ динамичСского сайта.

Языковая Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³ΠΈ начинаСтся с Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π³Π»Π°Π², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ познакомят вас с основной структурой языка JavaScript. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ структуры (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово while, ΡƒΠΆΠ΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Π²ΡˆΠ΅Π΅ΡΡ Π²Π°ΠΌ Π²ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ), Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (написаниС собствСнных ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ²) ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…. ПослС этого Π²Ρ‹ смоТСтС ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Π°Π»Π΅Π΅, Π² Π³Π»Π°Π²Π°Ρ… 5 ΠΈ 6, описаны способы использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ абстрактный ΠΊΠΎΠ΄ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ.

ПослС Π³Π»Π°Π²Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° языковая Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³ΠΈ β€” ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π³Π»Π°Π²Ρ‹ посвящСны ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΡŽ ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ошибок, рСгулярным выраТСниям (Π²Π°ΠΆΠ½Ρ‹ΠΉ инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстом), ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ слоТности) ΠΈ асинхронному ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ (Ρ€Π°Π±ΠΎΡ‚Π° с событиями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ длятся ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя). ΠŸΠ΅Ρ€Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Π³Π»Π°Π²Π° Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части, Π² Π³Π»Π°Π²Π°Ρ… с 13-ΠΉ ΠΏΠΎ 19-ю, описаны инструмСнты, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ доступ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ JavaScript. Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ элСмСнты Π½Π° экранС (Π³Π»Π°Π²Ρ‹ 14 ΠΈ 17), Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ (Π³Π»Π°Π²Π° 15) ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠΈ ΠΏΠΎ сСти (Π³Π»Π°Π²Π° 18). Π’ Π΄Π°Π½Π½ΠΎΠΉ части Ρ‚Π°ΠΊΠΆΠ΅ содСрТатся Π΄Π²Π΅ Π³Π»Π°Π²Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ПослС этого Π² Π³Π»Π°Π²Π΅ 20 описываСтся Node.js, Π° Π² Π³Π»Π°Π²Π΅ 21 создаСтся нСбольшой сайт с использованиСм ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ инструмСнта.

ΠžΡ‚Ρ€Ρ‹Π²ΠΎΠΊ. Π‘ΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ reduce

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° распространСнная Π²Π΅Ρ‰ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ часто Π΄Π΅Π»Π°ΡŽΡ‚ с массивами, β€” вычислСниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния Π½Π° ΠΈΡ… основС. Частный случай этого β€” ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π°ΠΌΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с суммированиСм Π½Π°Π±ΠΎΡ€Π° чисСл. Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” поиск ΡˆΡ€ΠΈΡ„Ρ‚Π°, содСрТащСго наибольшСС количСство символов.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка, которая Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ этот шаблон, называСтся сокращСниСм (ΠΈΠ½ΠΎΠ³Π΄Π° Π΅Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ свСрткой). Данная опСрация строит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ получСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта ΠΈΠ· массива ΠΈ комбинирования Π΅Π³ΠΎ с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. ΠŸΡ€ΠΈ суммировании чисСл ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с нуля ΠΈ Π·Π°Ρ‚Π΅ΠΌ прибавляСм ΠΊ суммС ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ reduce, ΠΊΡ€ΠΎΠΌΠ΅ массива, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ функция ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚Π° функция Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС, Ρ‡Π΅ΠΌ filter ΠΈ map, поэтому ΠΏΡ€ΠΈΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π½Π΅ΠΉ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ:

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами reduce, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, соотвСтствуСт этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΠΌΠ΅Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ удобство. Если массив содСрТит хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ элСмСнт, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ start. ΠœΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ Π² качСствС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт массива ΠΈ Π½Π°Ρ‡Π½Π΅Ρ‚ сокращСниС со Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнта.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ reduce (Π΄Π²Π°ΠΆΠ΄Ρ‹) для поиска ΡˆΡ€ΠΈΡ„Ρ‚Π° с наибольшим количСством символов, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅Ρ‡Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

Ѐункция characterCount сокращаСт Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹, Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΡˆΡ€ΠΈΡ„Ρ‚Ρƒ, вычисляя сумму ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ². ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° использованиС дСструктуризации Π² спискС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сокращСния. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² reduce задСйствуСт ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ самый большой ΡˆΡ€ΠΈΡ„Ρ‚, ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ сравнивая Π΄Π²Π° ΡˆΡ€ΠΈΡ„Ρ‚Π° ΠΈ возвращая больший ΠΈΠ· Π½ΠΈΡ….

Π¨Ρ€ΠΈΡ„Ρ‚ Han насчитываСт Π±ΠΎΠ»Π΅Π΅ 89 000 символов, Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ Π² стандартС Unicode, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ самой большой систСмой письма Π² нашСм Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Han β€” это ΡˆΡ€ΠΈΡ„Ρ‚, ΠΈΠ½ΠΎΠ³Π΄Π° примСняСмый для китайских, японских ΠΈ корСйских тСкстов. Π’ ΠΈΡ… языках ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ‰ΠΈΡ… символов, хотя ΠΎΠ½ΠΈ ΠΈ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. ΠšΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌ Unicode (располоТСнный Π² БША) принял Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ символы ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΡƒΡŽ систСму записи Π² цСлях экономии ΠΊΠΎΠ΄ΠΎΠ² символов. Π­Ρ‚ΠΎ называСтся объСдинСниСм Π₯ань ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… людСй.

ΠšΠΎΠΌΠΏΠΎΠ½ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ

ΠŸΠΎΠ΄ΡƒΠΌΠ°Π΅ΠΌ: ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ (Π½Π°ΠΉΡ‚ΠΈ самый большой ΡˆΡ€ΠΈΡ„Ρ‚) Π±Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка? Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π½Π΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΡƒΠΆΠ΅.

Появилось нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… привязок, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° стала Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ строки Π΄Π»ΠΈΠ½Π½Π΅Π΅. Но этот ΠΊΠΎΠ΄ всС Π΅Ρ‰Π΅ вСсьма понятСн.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ-настоящСму ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° напишСм ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вычисляСт срСдний Π³ΠΎΠ΄ создания ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΆΠΈΠ²Ρ‹Ρ… ΠΈ ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹Ρ… языков Π² Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, скрипты ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹Ρ… языков Π² Unicode Π² срСднСм ΡΡ‚Π°Ρ€ΡˆΠ΅, Ρ‡Π΅ΠΌ скрипты ΠΆΠΈΠ²Ρ‹Ρ… языков.

Π­Ρ‚ΠΎ Π½Π΅ особСнно значимая ΠΈΠ»ΠΈ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ статистика. Но Π²Ρ‹, надСюсь, ΡΠΎΠ³Π»Π°ΡΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Π΅Π΅ вычислСния, Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС ΠΊΠ°ΠΊ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€: ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с Π°Π½Π°Π»ΠΈΠ·Π° всСх ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ², ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ ΠΆΠΈΠ²Ρ‹Π΅ (ΠΈΠ»ΠΈ ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹Π΅), Π±Π΅Ρ€Π΅ΠΌ Π³ΠΎΠ΄Ρ‹ ΠΈΡ… создания, вычисляСм срСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ округляСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π”Π°Π½Π½ΠΎΠ΅ вычислСниС Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ большого Ρ†ΠΈΠΊΠ»Π°.

Но Π² этом ΠΊΠΎΠ΄Π΅ слоТнСС ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ вычисляСтся. А ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π½Π΅ прСдставлСны Π² Π²ΠΈΠ΄Π΅ согласованных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π²Ρ€ΠΎΠ΄Π΅ average Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, эти Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ создаСт Π½ΠΎΠ²Ρ‹Π΅ массивы ΠΏΡ€ΠΈ запускС filter ΠΈ map, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²Ρ‚ΠΎΡ€ΠΎΠΉ вычисляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ числа, выполняя мСньшС Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ сСбС Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π½ΠΎ Ссли приходится ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ большиС массивы ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ, Ρ‚ΠΎ ΠΌΠ΅Π½Π΅Π΅ абстрактный ΡΡ‚ΠΈΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ Π² скорости.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈ ΠΊΠΎΠ΄Ρ‹ символов

Одно ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… β€” ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ Π½Π°Π±Ρ€Π°Π½ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ тСкста. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая это Π΄Π΅Π»Π°Π΅Ρ‚.

Вспомним, Ρ‡Ρ‚ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡˆΡ€ΠΈΡ„Ρ‚Π° сущСствуСт массив Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΊΠΎΠ΄ΠΎΠ² символов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, зная ΠΊΠΎΠ΄ символа, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΡˆΡ€ΠΈΡ„Ρ‚ (Ссли ΠΎΠ½ Π΅ΡΡ‚ΡŒ):

ΠœΠ΅Ρ‚ΠΎΠ΄ some β€” это Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° функция Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ сообщаСт, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π»ΠΈ ΠΎΠ½Π° true для любого элСмСнта массива.

Но ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΊΠΎΠ΄Ρ‹ символов Π² Π²ΠΈΠ΄Π΅ строки?

Π’ Π³Π»Π°Π²Π΅ 1 я ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π», Ρ‡Ρ‚ΠΎ Π² JavaScript строки ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ 16-Π±ΠΈΡ‚Π½Ρ‹Ρ… чисСл. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ Π² Unicode ΠΊΠΎΠ΄ символа Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π°ΠΊΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ (Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Ρ‡ΡƒΡ‚ΡŒ большС 65 000 символов). Когда стало ясно, Ρ‡Ρ‚ΠΎ этого нСдостаточно, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ стали Π²ΠΎΠ·Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΈΠ² нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ большС памяти для хранСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π±Ρ‹Π» ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ UTF-16, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² строках JavaScript. Π’ Π½Π΅ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС символы Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΎΠ΄Π½Ρƒ 16-Π±ΠΈΡ‚Π½ΡƒΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ β€” Π΄Π²Π΅ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹.

БСгодня принято ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ UTF-16 Π±Ρ‹Π» ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΈΠ΄Π΅Π΅ΠΉ. ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, ΠΎΠ½ создан, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ»ΠΎΠ΄ΠΈΡ‚ΡŒ ошибки. МоТно Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΈ символы β€” ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅. И Ссли для вашСго Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ символы, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹, эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Но, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ попытаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для ΠΌΠ΅Π½Π΅Π΅ распространСнного Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для китайских ΠΈΠ΅Ρ€ΠΎΠ³Π»ΠΈΡ„ΠΎΠ², ΠΎΠ½Π° сразу сломаСтся. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, послС появлСния смайликов для кодирования символов стали повсСмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Π²Π΅ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΈ брСмя Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΎΡΡŒ Π±ΠΎΠ»Π΅Π΅ справСдливо.

К соТалСнию, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со строками JavaScript, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΡ… Π΄Π»ΠΈΠ½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· свойство length ΠΈ доступ ΠΊ ΠΈΡ… содСрТимому с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок, ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π΅Π»ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ.

Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. image loader. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π° Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

ΠœΠ΅Ρ‚ΠΎΠ΄ JavaScript charCodeAt Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ символа, Π° ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Появившийся ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ codePointAt Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ символ Unicode. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ символы ΠΈΠ· строки. Но Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ Π² codePointAt, всС Π΅Ρ‰Π΅ являСтся индСксом Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ всС символы Π² строкС, Π½Π°ΠΌ всС Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ вопрос ΠΎ Ρ‚ΠΎΠΌ, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ символ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ Π΄Π²Π΅ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹.

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅ я ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π», Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» for/of ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚ΠΎΠΌ числС ΠΈ для строк. Подобно codePointAt, этот Ρ‚ΠΈΠΏ Ρ†ΠΈΠΊΠ»Π° появился Π² Ρ‚ΠΎ врСмя, ΠΊΠΎΠ³Π΄Π° программисты Ρ‡Π΅Ρ‚ΠΊΠΎ осознали ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ UTF-16. Когда Π²Ρ‹ примСняСтС этот Ρ†ΠΈΠΊΠ» для строки, ΠΎΠ½ Π΄Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ символы, Π° Π½Π΅ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹.

Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. image loader. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π° Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ символ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой строку ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π΄Π²ΡƒΡ… ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†), Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠ΄, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ codePointAt(0).

РаспознаваниС тСкста

Π£ нас Π΅ΡΡ‚ΡŒ функция characterScript ΠΈ способ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° символов Π² Ρ†ΠΈΠΊΠ»Π΅. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг β€” ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство символов, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡˆΡ€ΠΈΡ„Ρ‚Ρƒ. Π—Π΄Π΅ΡΡŒ Π½Π°ΠΌ пригодится такая счСтная абстракция:

Ѐункция countBy ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ (всС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ Π² Ρ†ΠΈΠΊΠ»Π΅ for/of) ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‰ΡƒΡŽ имя Π³Ρ€ΡƒΠΏΠΏΡ‹ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта. Ѐункция countBy Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит имя Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈ количСство Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… для Π½Π΅Π΅ элСмСнтов.

Π’ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ использован Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами β€” findIndex. Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° indexOf, Π½ΠΎ вмСсто поиска ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ значСния ΠΎΠ½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ заданная функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true. Π’ случаС Ссли элСмСнт Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, findIndex, ΠΊΠ°ΠΊ ΠΈ indexOf, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ –1.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ countBy, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‰ΡƒΡŽ, ΠΊΠ°ΠΊΠΈΠ΅ ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ задСйствованы Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ тСкста.

Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. image loader. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π° Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

Ѐункция сначала подсчитываСт символы ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡˆΡ€ΠΈΡ„Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ characterScript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΈΠΌ имя, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку Β«noneΒ» для символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ относятся Π½ΠΈ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΡˆΡ€ΠΈΡ„Ρ‚Ρƒ. Π’Ρ‹Π·ΠΎΠ² filter удаляСт запись Β«noneΒ» ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ массива, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эти символы нас Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½Ρ‹Π΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ, Π½Π°ΠΌ сначала Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ количСство символов, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΡˆΡ€ΠΈΡ„Ρ‚Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° reduce. Если Ρ‚Π°ΠΊΠΈΠ΅ символы Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹, Ρ‚ΠΎ функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ строку. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ подсчСта Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ map, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ join.

РСзюмС

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ значСния Π΄Ρ€ΡƒΠ³ΠΈΠΌ функциям являСтся ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ аспСктом JavaScript. Π­Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΡŽΡ‚ вычислСния с Β«ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈΒ». ВпослСдствии ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ‚Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Β«ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹Β» Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ значСниями.

Для массивов сущСствуСт ряд ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка. ΠœΠ΅Ρ‚ΠΎΠ΄ forEach ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для цикличСского ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов массива. ΠœΠ΅Ρ‚ΠΎΠ΄ filter Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ массив, содСрТащий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ элСмСнты, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ массива посрСдством выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ map. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ всС элСмСнты массива Π² ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ reduce. ΠœΠ΅Ρ‚ΠΎΠ΄ some провСряСт, соотвСтствуСт Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ элСмСнт Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НаконСц, ΠΌΠ΅Ρ‚ΠΎΠ΄ findIndex Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρƒ.

Для Π₯Π°Π±Ρ€ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ скидка 25% ΠΏΠΎ ΠΊΡƒΠΏΠΎΠ½Ρƒ β€” JavaScript
По Ρ„Π°ΠΊΡ‚Ρƒ ΠΎΠΏΠ»Π°Ρ‚Ρ‹ Π±ΡƒΠΌΠ°ΠΆΠ½ΠΎΠΉ вСрсии ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° e-mail высылаСтся элСктронная ΠΊΠ½ΠΈΠ³Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ JavaScript, Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡ€ΠΎrΡ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π₯Π°Π²Π΅Ρ€Π±Π΅ΠΊΠ΅ М., 2019

Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ JavaScript, Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡ€ΠΎrΡ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π₯Π°Π²Π΅Ρ€Π±Π΅ΠΊΠ΅ М., 2019.

Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. 129711. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π° Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°-129711. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 129711. ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

дСйствий. Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ JavaScript Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΠΌΠ΅Π» Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ с языком программирования ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Java. ΠŸΠΎΡ…ΠΎΠΆΠ΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ΄ΠΈΠΊΡ‚ΠΎΠ²Π°Π½ΠΎ Π½Π΅ Π·Π΄Ρ€Π°Π²Ρ‹ΠΌ смыслом, Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²Ρ‹ΠΌΠΈ сообраТСниями. Когда появился JavaScript, язык jΠ°vΠ° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ продавался ΠΈ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Π» ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ. ΠšΡ‚ΠΎ Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΠ», Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ бСсплатно ΠΏΡ€ΠΎΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ Π½Π° Π²ΠΎΠ»Π½Π΅ Ρ‡ΡƒΠΆΠΎΠ³ΠΎ успСха. Π’Π΅ΠΏΠ΅Ρ€ΡŒ приходится Π·Π° это Ρ€Π°ΡΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ.

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ содСрТаниС
Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅.
Π“Π»Π°Π²Π° 1.ЗначСния, Ρ‚ΠΈΠΏΡ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹.
Π“Π»Π°Π²Π° 2.Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
Π“Π»Π°Π²Π° 3.Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
Π“Π»Π°Π²Π° 4.Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ массивы.
Π“Π»Π°Π²Π° 5.Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка.
Π“Π»Π°Π²Π° 6.Вайная Тизнь ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
Π“Π»Π°Π²Π° 7.ΠŸΡ€ΠΎΠ΅ΠΊΡ‚: Ρ€ΠΎΠ±ΠΎΡ‚.
Π“Π»Π°Π²Π° 8.Ошибки ΠΈ Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹.
Π“Π»Π°Π²Π° 9.РСгулярныС выраТСния.
Π“Π»Π°Π²Π° 10.ΠœΠΎΠ΄ΡƒΠ»ΠΈ.
Π“Π»Π°Π²Π° 11.АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.
Π“Π»Π°Π²Π° 12.ΠŸΡ€ΠΎΠ΅ΠΊΡ‚: язык программирования.
Π“Π»Π°Π²Π° 13.JavaScript ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€.
Π“Π»Π°Π²Π° 14.ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.
Π“Π»Π°Π²Π° 15.ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий.
Π“Π»Π°Π²Π° 16.ΠŸΡ€ΠΎΠ΅ΠΊΡ‚: игровая ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°.
Π“Π»Π°Π²Π° 17.РисованиС Π½Π° холстС.
Π“Π»Π°Π²Π° 18.НВВР ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹.
Π“Π»Π°Π²Π° 19.ΠŸΡ€ΠΎΠ΅ΠΊΡ‚: растровый графичСский Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.
Π“Π»Π°Π²Π° 20.Node.js.
Π“Π»Π°Π²Π° 21.ΠŸΡ€ΠΎΠ΅ΠΊΡ‚: сайт ΠΏΠΎ ΠΎΠ±ΠΌΠ΅Π½Ρƒ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ.
Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΏΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ pdf
НиТС ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡƒΠΏΠΈΡ‚ΡŒ эту ΠΊΠ½ΠΈΠ³Ρƒ ΠΏΠΎ Π»ΡƒΡ‡ΡˆΠ΅ΠΉ Ρ†Π΅Π½Π΅ со скидкой с доставкой ΠΏΠΎ всСй России. ΠšΡƒΠΏΠΈΡ‚ΡŒ эту ΠΊΠ½ΠΈΠ³Ρƒ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. 608435. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π° Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°-608435. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ°Π²Π° скрипт ΠΊΠ½ΠΈΠ³Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 608435. ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

ОписаниС ΠΊΠ½ΠΈΠ³ΠΈ «Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ JavaScript»

ОписаниС ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ содСрТаниС «Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ JavaScript» Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ бСсплатно ΠΎΠ½Π»Π°ΠΉΠ½.

Π’ процСссС чтСния Π²Ρ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с основами программирования ΠΈ, Π² частности, языка JavaScript, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ нСсколько Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Один ΠΈΠ· самых интСрСсных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² β€” созданиС своСго языка программирования.

Π­Ρ‚ΠΎ ΠΊΠ½ΠΈΠ³Π° рассказываСт, ΠΊΠ°ΠΊ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΎΡ‚ Π½ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ сСгодня Ρ‚Π°ΠΊ ΠΆΠ΅ распространСны, ΠΊΠ°ΠΊ ΠΎΡ‚Π²Ρ‘Ρ€Ρ‚ΠΊΠΈ – Π½ΠΎ содСрТат Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС скрытых слоТностСй, ΠΈ поэтому ΠΈΡ… слоТнСС ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ с Π½ΠΈΠΌΠΈ слоТнСС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Для ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΎΠ½ΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Ρ‡ΡƒΠΆΠ΄Ρ‹ΠΌΠΈ, слСгка ΡƒΠ³Ρ€ΠΎΠΆΠ°ΡŽΡ‰ΠΈΠΌΠΈ ΡˆΡ‚ΡƒΠΊΠ°ΠΌΠΈ.

ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π²Π° эффСктивных способа ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°ΠΌΠΈ – водянистыми биологичСскими ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ связям ΠΈ пространным рассуТдСниям, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ – бСсчувствСнными манипуляторами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с бСссмыслСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΡŽ физичСского ΠΌΠΈΡ€Π°, ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйсы, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π° экранС. Для простого взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

Но ΠΌΡ‹ Π½Π΅ нашли Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ ΠΌΡ‹ΡˆΡŒΡŽ Ρ‚Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ интСрфСйса Π½Π΅ прСдусмотрСл. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ Π½Π° Π±ΠΎΠ»Π΅Π΅ слоТных уровнях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π΅ΠΌΡƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ наш Ρ‚Π°Π»Π°Π½Ρ‚ ΠΊ ΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ: ΠΌΡ‹ ΠΎΠ±ΡƒΡ‡Π°Π΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ языку.

ЧСловСчСскиС языки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ слова Π²Π΅Π»ΠΈΠΊΠΈΠΌ мноТСством способов, Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ языки устроСны ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, хотя ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈ грамматичСски.

Π—Π° послСдниС 20 Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ стала ΠΎΡ‡Π΅Π½ΡŒ распространённым явлСниСм, ΠΈ интСрфСйсы, построСнныС Π½Π° языкС (Π° ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ это Π±Ρ‹Π» СдинствСнный способ общСния с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ) ΠΏΠΎΡ‡Ρ‚ΠΈ вытСснСны графичСскими. Но ΠΎΠ½ΠΈ всё Π΅Ρ‰Ρ‘ Π΅ΡΡ‚ΡŒ – Ссли Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Π³Π΄Π΅ ΠΈΡ… ΠΈΡΠΊΠ°Ρ‚ΡŒ. Один ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… языков, JavaScript, встроСн ΠΏΠΎΡ‡Ρ‚ΠΈ Π² любой Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ доступСн ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ устройствС.

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° ставит Ρ†Π΅Π»ΡŒΡŽ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ вас с этим языком достаточно для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ.

Π― Π½Π΅ ΠΏΡ€ΠΎΡΠ²Π΅Ρ‰Π°ΡŽ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ ΠΆΠ°ΠΆΠ΄Π΅Ρ‚ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, ΠΈ Π½Π΅ ΠΏΠΎΠ±ΡƒΠΆΠ΄Π°ΡŽ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Если я ΠΏΠΎΠΊΠ°ΠΆΡƒ ΠΎΠ΄ΠΈΠ½ ΡƒΠ³ΠΎΠ» ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°, ΠΈ ΠΎΠ½ΠΈ Π½Π΅ приходят ΠΊΠΎ ΠΌΠ½Π΅ с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ трСмя – ΠΌΠ½Π΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… объяснСний.

ΠšΡ€ΠΎΠΌΠ΅ объяснСния JavaScript я Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ‡Ρƒ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ программирования. Как выясняСтся, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тяТСло. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ просты ΠΈ понятны. Но ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, построСнныС Π½Π° этих ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ…, становятся слоТными Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ вводят свои собствСнныС ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ ΡƒΡ€ΠΎΠ²Π½ΠΈ слоТности. Π’Ρ‹ строитС свой собствСнный Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π² Π½Ρ‘ΠΌ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒΡΡ.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ€Π΅ΠΌΠ΅Π½Π°ΠΌΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ вас. Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π²Π°Ρ€ΠΈΡ‚ΡŒ. Много ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π±ΡƒΠ΄Π΅Ρ‚ скомбинировано Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π΅Π³ΠΎ частями.

Π’Ρ‹ сами Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ этих усилий. Если Π²Π°ΠΌ тяТСло ΠΏΡ€ΠΎΠ΄ΠΈΡ€Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ½ΠΈΠ³Ρƒ, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ сСбС ΠΏΠ»ΠΎΡ…ΠΎ. Π‘ Π²Π°ΠΌΠΈ всё Π² порядкС – Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ просто ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π², Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π½Π°Π·Π°Π΄ – ΠΈ всСгда ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€ΠΎΡ‡Π»ΠΈ ΠΈ поняли ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ – это слоТная Ρ€Π°Π±ΠΎΡ‚Π°, Π½ΠΎ Ρ€Π°Π· Π²Ρ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΠ»ΠΈ, ΠΎΠ½ΠΎ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π²Π°ΠΌ, ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ дальнСйшиС шаги.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ создаёт всСлСнныС, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ ΠΎΠ΄ΠΈΠ½ Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅. Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы всСлСнныС практичСски Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ слоТности.

Π”ΠΆΠΎΠ·Π΅Ρ„ Π’Π°ΠΉΠ·Π΅Π½Π±Π°ΡƒΠΌ, Β«Π‘ΠΈΠ»Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈ Π Π°Π·ΡƒΠΌ людСй»

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° – слоТноС понятиС. Π­Ρ‚ΠΎ кусок тСкста, Π½Π°Π±Ρ€Π°Π½Π½Ρ‹ΠΉ программистом, это Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ сила, Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, это Π΄Π°Π½Π½Ρ‹Π΅ Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΈ ΠΏΡ€ΠΈ этом ΠΎΠ½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с этой ΠΆΠ΅ самой ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Аналогии, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ со Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌΠΈ Π½Π°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ с этим. Одна Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ подходящая – аналогия с машиной. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… частСй ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅, ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сСбС способы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ эти части Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ привносят Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ†Π΅Π»ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ – это машина, которая устроСна Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² сСбС эти Π½Π΅ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ машинки. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ сами ΠΏΠΎ сСбС ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ простыС дСйствия. Польза ΠΈΡ… Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΎΡ‡Π΅Π½ΡŒ быстро. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти дСйствия Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ ΠΎΡ‡Π΅Π½ΡŒ слоТныС дСйствия.

Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· нас ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ – это ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΈΠ³Ρ€Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° – это мыслСнная конструкция. НичСго Π½Π΅ стоит Π΅Ρ‘ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, ΠΎΠ½Π° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ вСсит, ΠΈ ΠΎΠ½Π° Π»Π΅Π³ΠΊΠΎ вырастаСт ΠΏΠΎΠ΄ нашими ΠΏΠ°Π»ΡŒΡ†Π°ΠΌΠΈ.

Если Π½Π΅ Π±Ρ‹Ρ‚ΡŒ остороТным, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выходят ΠΈΠ·-ΠΏΠΎΠ΄ контроля, запутывая Π΄Π°ΠΆΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Π΅Ρ‘ ΠΏΠΈΡˆΠ΅Ρ‚. Π­Ρ‚ΠΎ основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° программирования: ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. Когда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ – это прСкрасно. Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования – это ΡƒΠΌΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° находится ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ, ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° просто Π² своСй слоТности.

МногиС программисты вСрят, Ρ‡Ρ‚ΠΎ этой ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… нСбольшой Π½Π°Π±ΠΎΡ€ Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстных Ρ‚Π΅Ρ…Π½ΠΈΠΊ. Они описали строгиС ΠΏΡ€Π°Π²ΠΈΠ»Π° (Β«Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈΒ») Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ. И самыС рСвностныС срСди Π½ΠΈΡ… ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ отклоняСтся ΠΎΡ‚ этих ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ, ΠΏΠ»ΠΎΡ…ΠΈΠΌΠΈ программистами.

Π§Ρ‚ΠΎ Π·Π° Π²Ρ€Π°ΠΆΠ΄Π΅Π±Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ богатству программирования – ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π΄ΠΎ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ прямолинСйного ΠΈ прСдсказуСмого, Π½Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ‚Π°Π±Ρƒ Π½Π° всякиС странныС ΠΈ прСкрасныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹! Π›Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚ Ρ‚Π΅Ρ…Π½ΠΈΠΊ программирования ΠΎΠ³Ρ€ΠΎΠΌΠ΅Π½, ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»Π΅Π½ своим Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ΠΌ, ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΠ·ΡƒΡ‡Π΅Π½ ΠΌΠ°Π»ΠΎ. Π­Ρ‚ΠΎ опасноС ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅, Π·Π°ΠΌΠ°Π½ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ ΠΈ Π·Π°ΠΏΡƒΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π΅ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ программиста, Π½ΠΎ это всСго лишь ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ этим ΠΏΡƒΡ‚Ρ‘ΠΌ остороТно ΠΈ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ. По ΠΌΠ΅Ρ€Π΅ обучСния Π²Π°ΠΌ всСгда Π±ΡƒΠ΄ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Π½Π΅ΠΈΠ·Π²Π΅Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹, Π½Π΅ ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ΅, ΡΡ‚Π°Π³Π½ΠΈΡ€ΡƒΡŽΡ‚, Π·Π°Π±Ρ‹Π²Π°ΡŽΡ‚ свою Ρ€Π°Π΄ΠΎΡΡ‚ΡŒ, ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π° наскучиваСт ΠΈΠΌ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ язык ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Π’ Π½Π°Ρ‡Π°Π»Π΅, ΠΏΡ€ΠΈ Π·Π°Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… дисциплин, Π½Π΅ Π±Ρ‹Π»ΠΎ языков программирования. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выглядСли Ρ‚Π°ΠΊ:

00110001 00000000 00000000

00110001 00000001 00000001

00110011 00000001 00000010

01010001 00001011 00000010

00100010 00000010 00001000

01000011 00000001 00000000

01000001 00000001 00000001

00010000 00000010 00000000

01100010 00000000 00000000

Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‰Π°Ρ числа ΠΎΡ‚ 1 Π΄ΠΎ 10, ΠΈ выводящая Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (1 + 2 + … + 10 = 55). Она ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° ΠΎΡ‡Π΅Π½ΡŒ простой гипотСтичСской машинС. Для программирования ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π±Ρ‹Π»ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ большиС массивы ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±ΠΈΠ²Π°Ρ‚ΡŒ Π΄Ρ‹Ρ€ΠΊΠΈ Π² ΠΏΠ΅Ρ€Ρ„ΠΎΠΊΠ°Ρ€Ρ‚Π°Ρ… ΠΈ ΡΠΊΠ°Ρ€ΠΌΠ»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, какая это Π±Ρ‹Π»Π° ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ, подвСрТСнная ошибкам ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°. НаписаниС Π΄Π°ΠΆΠ΅ простых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ большого ΡƒΠΌΠ° ΠΈ дисциплины. Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΈ практичСски нСмыслимы.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ€ΡƒΡ‡Π½ΠΎΠΉ Π²Π²ΠΎΠ΄ этих мистичСских Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π±ΠΈΡ‚ (Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†) Π΄Π°Π²Π°Π» программисту Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‰ΡƒΡ‚ΠΈΡ‚ΡŒ сСбя волшСбником. И это Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ стоило Π² смыслС удовлСтворСния Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ.

КаТдая строка ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ содСрТит ΠΎΠ΄Π½Ρƒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ. На ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ языкС ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

1. Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ 0 Π² ячСйку памяти 0

2. Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ 1 Π² ячСйку памяти 1

3. Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки 1 Π² ячСйку 2

4. Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ 11 ΠΈΠ· значСния ячСйки 2

5. Ссли Ρƒ ячСйки 2 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0, Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ с ΠΏΡƒΠ½ΠΊΡ‚Π° 9.

6. Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки 1 ΠΊ ячСйкС 0

7. Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ 1 ΠΊ ячСйкС 1

8. ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ с ΠΏΡƒΠ½ΠΊΡ‚Π° 3.

9. вывСсти Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки 0

Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π»Π΅Π³Ρ‡Π΅ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ ΠΊΡƒΡ‡Ρƒ Π±ΠΈΡ‚, Π½ΠΎ ΠΎΠ½ всё Ρ€Π°Π²Π½ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π΅Π½. ИспользованиС ΠΈΠΌΡ‘Π½ вмСсто Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² инструкций ΠΈ ячССк памяти ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.

ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ β€˜total’ Π² 0

ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ β€˜count’ Π² 1

ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ β€˜compare’ Π² β€˜count’

Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ 11 ΠΈΠ· β€˜compare’

Ссли β€˜compare’ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ, ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° [end]

Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ β€˜count’ ΠΊ β€˜total’

Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ 1 ΠΊ β€˜count’

Π’ΠΎΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΆΠ΅ Π½Π΅ Ρ‚Π°ΠΊ слоТно ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π‘ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ΡΡŒ? ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π΅ строки Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ Π΄Π²ΡƒΠΌ областям памяти Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния. total Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для подсчёта Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° вычислСния, Π° count Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° числом, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π‘Ρ‚Ρ€ΠΎΡ‡ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ β€˜compare’, Π½Π°Π²Π΅Ρ€Π½ΠΎ, самыС странныС. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π½Π΅ Ρ€Π°Π²Π½ΠΎ Π»ΠΈ count 11, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ подсчёт. Π’Π°ΠΊ ΠΊΠ°ΠΊ наша вообраТаСмая машина довольно ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Π°, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° равСнство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΡƒΠ»ΡŽ, ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Π½Π°Π΄ΠΎ Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΡ€Ρ‹Π³Π½ΡƒΡ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ строку. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ β€˜compare’, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ count – 11 ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° основании этого значСния. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅ строки Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ count Π² счСтчик Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ count Π½Π° 1 ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅ достигла значСния 11.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *