Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ch3.md #31

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions scopes-closures/ch3.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ console.log(studentName);
```

|ПОРАДА: |

| -- |
Перед тим, як піти далі, знайдіть трохи часу, щоб проаналізувати цей код, використавши різні техніки / метафори, які ми згадували в цій книзі. Зокрема, обов’язково визначте кольори кульок / оболонок у цьому фрагменті. Це хороша практика! |

Змінна `studentName` у рядку 1 (оператор` var studentName = ..`) створює ЧЕРВОНУ (1) кульку. Ця сама названа змінна оголошена як СИНЯ (2) кулька у рядку 3, параметр у визначенні функції `printStudent (..)`.
Expand Down Expand Up @@ -121,7 +121,7 @@ printStudent("Frank");
`Window.studentName` є дзеркалом глобальної змінної `studentName`, а не окремою копією знімка стану системи. Зміни в одному будуть спостерігатися з іншого в двох напрямках. Ви можете уявити `window.studentName` методом читання/модифікації, який отримує доступ до фактичної змінної `studentName`. Насправді ви можете _добати_ змінну до глобальної області видимості, створивши/встановивши властивість для глобального об'єкта.

| ПОПЕРЕДЖЕННЯ: |

| -- |
Пам'ятайте: те, що ви _можете_, не означає, що ви _повинні_. Не затінюйте глобальну змінну, до якої вам потрібно отримати доступ, і навпаки, уникайте використання цього трюку для доступу до глобальної змінної, яку ви затінили. І, безумовно, не плутайте читачів вашого коду, створивши глобальні змінні такі як властивості `window`, замість зовнішніх оголошень! |

Цей маленький "трюк" працює лише для доступу до глобальної змінної області видимості (не тіньової змінної від вкладеної області видимості), і тільки тоді, коли була оголошена з `var` або `function`.
Expand Down