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
Ранг: Почетен член

Мнения: 6759
Регистриран на: 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



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

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



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


--------------------
Напред! Живота е сраженье! Напред! И прав всегда ходи!
Напред, макар към поражение! Ако ще паднеш, прав падни!
---
Raw, and untamed in spirit, We chew this world and Spit it out
---
Challenge my own world to chaos
---
Im not intimidated by the good looking ones, it's the ugly ones that scare the shit out of me
PMEmail PosterUsers Website
Top
GigaByte
Публикувано на: 12-09-2018, 19:21
Quote Post



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

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



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


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

Мнения: 6759
Регистриран на: 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



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

Мнения: 375
Регистриран на: 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



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

Мнения: 4161
Регистриран на: 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



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

Мнения: 1245
Регистриран на: 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();


--------------------
Напред! Живота е сраженье! Напред! И прав всегда ходи!
Напред, макар към поражение! Ако ще паднеш, прав падни!
---
Raw, and untamed in spirit, We chew this world and Spit it out
---
Challenge my own world to chaos
---
Im not intimidated by the good looking ones, it's the ugly ones that scare the shit out of me
PMEmail PosterUsers Website
Top
stewie
Публикувано на: 12-09-2018, 20:05
Quote Post



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

Мнения: 4161
Регистриран на: 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



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

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



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


--------------------
Напред! Живота е сраженье! Напред! И прав всегда ходи!
Напред, макар към поражение! Ако ще паднеш, прав падни!
---
Raw, and untamed in spirit, We chew this world and Spit it out
---
Challenge my own world to chaos
---
Im not intimidated by the good looking ones, it's the ugly ones that scare the shit out of me
PMEmail PosterUsers Website
Top
johnfound
Публикувано на: 12-09-2018, 20:18
Quote Post


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

Мнения: 6759
Регистриран на: 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-2018 | BG Development | All Rights Reserved
RSS 2.0