-
Notifications
You must be signed in to change notification settings - Fork 34
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
Completed Chapter 03 Simple Conditions #12
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Използвай "===" за сравнение в картинките.
chapter-03-simple-conditions.md
Outdated
|
||
## Живот на променлива | ||
|
||
Всяка една променлива си има обхват, в който съществува, наречен **variable scope**. Този обхват уточнява къде една променлива може да бъде използвана. В езика JavaScript областта, в която една променлива съществува, започва от реда, на който сме я **дефинирали** и завършва до първата затваряща къдрава скоба **}** (на метода, на **`if` конструкцията** и т.н.). За това е важно да знаем, че **всяка променлива, дефинирана вътре в тялото на `if`, няма да бъде достъпна извън него**, освен ако не сме я дефинирали по-нагоре в кода. | ||
Всяка една променлива си има обхват, в който съществува, наречен **variable scope**. Този обхват уточнява къде една променлива може да бъде използвана. В езика JavaScript областта, в която една променлива съществува, започва от реда, на който сме я **дефинирали** и завършва до първата затваряща къдрава скоба **}** (на функцията, на **`if` конструкцията** и т.н.). За това е важно да знаем, че **всяка променлива, дефинирана вътре в тялото на `if`, няма да бъде достъпна извън него**, освен ако не сме я дефинирали по-нагоре в кода. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Не е ли добре да се добави малко информация за разликата между var и let?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-
Благодаря за посочването на пропуските в картинките. Вече са оправени.
-
За разликата между var и let мисля, че би било по-удачно подробна информация да бъде добавена в първа или максимално втора глава, при първоначалното дефиниране и използване на променливи. Затова тук би било излишно, за да се избегне повтаряемост.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Ако смяташ за неудачно в тази глава да обясняваш разликата между var и let, то поне посочи за кой тип променлива става въпрос.
- За картинките - на някои места е използван Number() вместо parseInt()/parseFloat(). Струва ми се и че не е използвана правилната светла тема на Visual Studio Code - функциите са оцветени в различен цвят.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Проверих и наистина се оказа, че съм използвал Light+, вместо Light.
Картинките ще бъдат коригирани да са със другата тема и с правилното парсване.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В лекциите мисля, че е използвано парсването с Number()
. Взето ли е решение кое парстване да се използва в цялата книга?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@iarnaudov мисля, че в главата където се обясняват променливите няма как да се обясни за scopes, защото там нямам как да дадеш нормален пример (не е взето нито if, нито for...). Може би там трябва да се обясни, че има две ключови думи за деклариране, но тук да се даде точната разлика между двете.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- @KristianMariyanov за парсването, не само тук, а и в друг Pull Request бяха препоръчали да се използва parseInt()/parseFloat(), затова го промених навсякъде.
- Добавих текст и картинка пример за разликите между var и let .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- трябва да се оправи форматирането на кода в картинките
- да се махне използването на var от картинките и от текста
- линковете към judge системата са грешни
- дебъгването се обеснява в друга глава. може би трябва да отпадне от едно от 2те места
chapter-03-simple-conditions.md
Outdated
|
||
При сравнение резултатът е булева стойност – **`true`** или **`false`**, в зависимост от това дали резултатът от сравнението е истина или лъжа. | ||
|
||
Важно е да се отбележи, че в **JavaScript** се използват и още един вид оператори за **сравнение** **`==`** и **различие** **`!=`**. Прилагането им без задълбочено разбиране води до проблеми и неочаквани резултати, затова няма да ги разглеждаме на този етап от нашата подготовка. | ||
|
||
Повече информация за разликите между двата вида оператори за сравнение и различие можете да получите от тук: https://www.w3schools.com/js/js_comparisons.asp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
по скоро бих дал линк към mdn, като по - кадърен източник на информация https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- done
chapter-03-simple-conditions.md
Outdated
|
||
## Живот на променлива | ||
|
||
Всяка една променлива си има обхват, в който съществува, наречен **variable scope**. Този обхват уточнява къде една променлива може да бъде използвана. В езика JavaScript областта, в която една променлива съществува, започва от реда, на който сме я **дефинирали** и завършва до първата затваряща къдрава скоба **}** (на метода, на **`if` конструкцията** и т.н.). За това е важно да знаем, че **всяка променлива, дефинирана вътре в тялото на `if`, няма да бъде достъпна извън него**, освен ако не сме я дефинирали по-нагоре в кода. | ||
Всяка една променлива си има обхват, в който съществува, наречен **variable scope**. Този обхват уточнява къде една променлива може да бъде използвана. В езикът JavaScript съществуват **два начина** за инициализиране на променливи. Чрез иползването на ключовата дума **`var`** или **`let`**. Важно е да се отбележи разликата между тях, за да избегнем нежелани резултати при създаването на нашите функции. Обхватът на променливите, инициализирани чрез ключовата дума **`var`** е **глобален за цялата функция**. Това означава, че променливите **могат да бъдат достъпвани след дефинирането им, независимо от това в коя част на нашия код са били декларирани**. При използването на ключовата дума **`let`**, животът на променливата започва от реда, в който сме я **дефинирали** и завършва до първата затваряща къдрава скоба **}** (на функцията, на **`if` конструкцията** и т.н.). За това е важно да знаем, че **всяка променлива, инициализирана вътре в тялото на `if`, няма да бъде достъпна извън него**, освен ако не сме я дефинирали по-нагоре в кода. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
с var могат да бъдат използвани и преди дефинирането им.
- важно е да се уточни за примера с if че става въпрос ако сме я декларирали с let
- може да се добави и другият начин за дефиниране - const
- добре е да се наблегне, че var е остарял и е добре да се избягва употребата.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- done
chapter-03-simple-conditions.md
Outdated
|
||
В примера по-долу, на последния ред, на който се опитваме да отпечатаме променливата **`salary`**, която е дефинирана в **`if` конструкцията**, ще получим **грешка**, защото нямаме достъп до нея. | ||
В примера по-долу, на последните редове, ще се опитаме да извикаме дефинираните променливи. Ще успеем да отпечатаме **`myMoney`**, защото е инициализирана в началото на нашата функция, преди **`if` конструкцията**, което я прави **достъпна навсякъде**. Също така ще е възможно да принтираме и **`salary`**, защото въпреки, че е декларирана в **`if`**, тя има характер на **глобална променлива** (понеже е дефинирана с **`var`**) и може да бъде **използвана навсякъде в обхвата на функцията**. При опитът за отпечатването на **`bonus`**, която е инициализирана в **`if` конструкцията**, ще получим **грешка**, тъй като животът на тази променлива завършва до първата затваряща къдрава скоба **}** на **`if`**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
определението за глобална променлива не е много точно. все пак може да се обясни какво представляват и глобалните променливи
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Може ли малко повече информация за форматирането на картинките. Какво точно не е наред?
- Използването на var в картинките и текста е само на едно място, за да се обясни разликата между let и var (поискано от екипа)
- Линковете към Judge ще бъдат оправени, когато бъде качена инстанцията за упражненията на книгата
- Дебъгването е добавено, защото включено в C# в тази глава. Трябва да се вземе решение от екипа дали да остане в тази глава, или ще бъде обяснено другаде.
Благодаря за обстойния преглед на темата.
На места има разлика в размера на кода в картинките. |
Трябва да се оправи форматирането на кода в картинките. Трудно се чете, защото няма нито един празен ред. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ready for merge
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ready for merge
Всичко е готово, без линковете за Judge, защото контеста все още не е активен.