Loading...
mr.ivanov avatar mr.ivanov 18 Точки

Деклариране на променливи - JavaScipt

Доколкото знам променливи се декларират с 'let' или 'var' като втората е глобална. Докато експериментирах установих че програмите ми работят и по този начин без да използвам let или var. Тогава каква е разликата например между 

това 

function triangleArea([arg1, arg2]) {
    a = Number(arg1);
    b = Number(arg2);
    area = a * b / 2;
    console.log(area)
}
triangleArea(['20', '30'])

 

и това 

function triangleArea([arg1, arg2]) {
    let a = Number(arg1);
    let b = Number(arg2);
    let area = a * b / 2;
    console.log(area)
}
triangleArea(['20', '30'])

 

и двете работят, но ме интересува кога се използва 'let' или 'var' и кога не е необходимо ?

0
Programming Basics
BoYaN avatar BoYaN 336 Точки

Основната разлика в примера ти можеш да я видиш като принтираш А (или В) извън функцията, в която си я декларирал.
А за разликата между var и нищо преди името на променливата, че тази с var първоначално има scope на функцията, в която е декларирана (която обикновено ти е подкарва проекта така че е един вид глобална), но ако се викне със същото име другаде ще бъде презаписана стойността й и на двете места. Променлива без нищо закача някакъв обект с някакво име, което носи някаква стойност в глобалния обект (било DOM или в nodejs).
И в двата случая ще те бият, ама много лошо, евентуално за var-a може някой дърт програмист да прояви съжаление към теб и да не те рита в главата. Ползвай си let и const и няма да имаш проблеми.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.