BG Development


Страници: (4) [1] 2 3 ... последна »  ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Леймърски въпрос за JS
johnfound
Публикувано на: 12-09-2018, 19:01
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 7136
Регистриран на: 27.05.04



В JS-та, когато нямаш фигурни скоби след if/else, трябва ли командата да завършва с ";"?

CODE

if (a > b)
 do_something()
else
 do_else();

или

if (a > b)
 do_something();
else
 do_else();


Като гледам, изпълнява го правилно и така и така, ама защо?

Според мене ";" завършва командата, тоест след do_something() не трябва да има, защото командата продължава нататък с else.

Или не?


--------------------
asm32 - Приложно програмиране на асемблер.
Tox: 2B446ADCEC7E180CD4C59391D81D4CAB3E99CA7AE767DB3AB45AF976F8A2050FF071DDB733F1
PMEmail PosterUsers Website
Top
Gamma Goblin
Публикувано на: 12-09-2018, 19:03
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1681
Регистриран на: 21.02.18



май ; не беше задължителен


--------------------
Бе наш този свят преди да дойде човекът и нямаше място за богове
Отново ще бъде, но само че нека човешкият род да ги прибере
Изсъхват морета рушат се скалите, луната завинаги да свети ще спре
Ще паднее Господ Бог от звездите и всичко що диша в този ден ще умре
Тогава земята ще стане на пепел, свидетели ще бъдат само пясък и жар
И никой не ще помни дали нявга е светил ликът на отреченият бивш господар
PMEmail PosterUsers Website
Top
GigaByte
Публикувано на: 12-09-2018, 19:21
Quote Post



Име: ГБ
Група: Потребител
Ранг: Редовен член

Мнения: 533
Регистриран на: 19.08.09



Фигурните скоби само показват кои команди влизат в if или в else блока, когато са на повече от един ред. Точка и запетая е задължителна, когато на един ред имаме повече от един израз.
PMEmail PosterUsers Website
Top
johnfound
Публикувано на: 12-09-2018, 19:45
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 7136
Регистриран на: 27.05.04



QUOTE (GigaByte @ 12-09-2018, 20:21)
Фигурните скоби само показват кои команди влизат в  if или в  else блока, когато са на повече от един ред. Точка и запетая е задължителна, когато на един ред имаме повече от един израз.

Ами в моя пример отгоре, на един ред има само по един израз. Значи ли това, че може въобще без ";"?

И обратно, ако ги слея така:

CODE
if (a > b) do_something();
else do_else();

if (a > b) do_something() else do_else();


...трябва задължително да се слагат ";" но само на края на реда?

Това мнение е било редактирано от johnfound на 12-09-2018, 19:47


--------------------
asm32 - Приложно програмиране на асемблер.
Tox: 2B446ADCEC7E180CD4C59391D81D4CAB3E99CA7AE767DB3AB45AF976F8A2050FF071DDB733F1
PMEmail PosterUsers Website
Top
v1rusman
Публикувано на: 12-09-2018, 19:47
Quote Post



Име:
Група: Потребител
Ранг: Редовен член

Мнения: 403
Регистриран на: 15.09.07



В JavaScript има нещо, което се нарича automatic semicolon insertion:

http://www.bradoncode.com/blog/2015/08/26/...olon-insertion/

За разлика от общоприетото мнение, за този "feature" си има особености, които могат да ти помогнат да се застреляш. Малко известно е също, че Brendan Eich го е вкарал навремето с "маркетингова" цел - да изглежда по-лесно за по-неопитни програмисти или които идват от свят без ; Разбира се сега съжалява за това.
PMEmail Poster
Top
stewie
Публикувано на: 12-09-2018, 19:47
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 4827
Регистриран на: 14.07.16



QUOTE (Gamma Goblin @ 12-09-2018, 20:03)
май ; не беше задължителен

Мноу як език icon_smile.gif
PM
Top
Gamma Goblin
Публикувано на: 12-09-2018, 19:52
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1681
Регистриран на: 21.02.18



QUOTE (johnfound @ 12-09-2018, 19:45)
QUOTE (GigaByte @ 12-09-2018, 20:21)
Фигурните скоби само показват кои команди влизат в  if или в  else блока, когато са на повече от един ред. Точка и запетая е задължителна, когато на един ред имаме повече от един израз.

Ами в моя пример отгоре, на един ред има само по един израз. Значи ли това, че може въобще без ";"?

И обратно, ако ги слея така:

CODE
if (a > b) do_something();
else do_else();

if (a > b) do_something() else do_else();


...трябва задължително да се слагат ";" но само на края на реда?

не, в края на всеки стейтмънт, мисля че може само да разбере кога е дошъл края на реда :Д

CODE
if (a > b) do_something();
else do_else();

if (a > b) do_something(); else do_else();


--------------------
Бе наш този свят преди да дойде човекът и нямаше място за богове
Отново ще бъде, но само че нека човешкият род да ги прибере
Изсъхват морета рушат се скалите, луната завинаги да свети ще спре
Ще паднее Господ Бог от звездите и всичко що диша в този ден ще умре
Тогава земята ще стане на пепел, свидетели ще бъдат само пясък и жар
И никой не ще помни дали нявга е светил ликът на отреченият бивш господар
PMEmail PosterUsers Website
Top
stewie
Публикувано на: 12-09-2018, 20:05
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 4827
Регистриран на: 14.07.16



QUOTE (Gamma Goblin @ 12-09-2018, 20:52)
QUOTE (johnfound @ 12-09-2018, 19:45)
QUOTE (GigaByte @ 12-09-2018, 20:21)
Фигурните скоби само показват кои команди влизат в  if или в  else блока, когато са на повече от един ред. Точка и запетая е задължителна, когато на един ред имаме повече от един израз.

Ами в моя пример отгоре, на един ред има само по един израз. Значи ли това, че може въобще без ";"?

И обратно, ако ги слея така:

CODE
if (a > b) do_something();
else do_else();

if (a > b) do_something() else do_else();


...трябва задължително да се слагат ";" но само на края на реда?

не, в края на всеки стейтмънт, мисля че може само да разбере кога е дошъл края на реда :Д

CODE
if (a > b) do_something();
else do_else();

if (a > b) do_something(); else do_else();

Това не е език. Колкото и да ти плащат пак не е език. А псевдо ООП джаваскрипта с прототипите и глупостите е немам думи. Но все още се търсят Senior JavaScript Developers, предполагам там за нод.джс.
PM
Top
Gamma Goblin
Публикувано на: 12-09-2018, 20:10
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1681
Регистриран на: 21.02.18



Много се осраха с езиците, го, js, руби, питон, пхп, все са лайна, а по-лошото е че има заблудени дето само ги вкарват насам и натам да създават проблеми


--------------------
Бе наш този свят преди да дойде човекът и нямаше място за богове
Отново ще бъде, но само че нека човешкият род да ги прибере
Изсъхват морета рушат се скалите, луната завинаги да свети ще спре
Ще паднее Господ Бог от звездите и всичко що диша в този ден ще умре
Тогава земята ще стане на пепел, свидетели ще бъдат само пясък и жар
И никой не ще помни дали нявга е светил ликът на отреченият бивш господар
PMEmail PosterUsers Website
Top
johnfound
Публикувано на: 12-09-2018, 20:18
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 7136
Регистриран на: 27.05.04



От отговорите дотук разбрах само, че мога да си ги слагам, където си искам. icon_lol.gif
Аз ли разбрах грешно, вие ли обяснявате криво...


--------------------
asm32 - Приложно програмиране на асемблер.
Tox: 2B446ADCEC7E180CD4C59391D81D4CAB3E99CA7AE767DB3AB45AF976F8A2050FF071DDB733F1
PMEmail PosterUsers Website
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (4) [1] 2 3 ... последна » Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0