Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   document.body.style.backgroundColor onclick (https://javascript.ru/forum/misc/29004-document-body-style-backgroundcolor-onclick.html)

MSSERG 08.09.2016 01:58

Цитата:

Сообщение от laimas
Фигурные скобки нужны тогда, когда по условию должно выполнятся несколько инструкций, то есть строк кода.

Но косяк был именно в этом, могу пояснить, если ты не можешь этого понять.

MSSERG 08.09.2016 02:00

И вообще, здесь в моменте на мой ответ среагировали, а когда создал тему с вопросом, так до сих пор и не получил ответа, уже сам нашёл, сам себе ответил под постом комментом, прикольно вы тут помогаете...

laimas 08.09.2016 02:04

Цитата:

Сообщение от MSSERG
Но косяк был именно в этом, могу пояснить, если ты не можешь этого понять.

Я не читал всю тему, она действительно слишком стара, но по поводу фигурных скобок большое заблуждение. Пояснять не надо, лучше проверить:

var n = 3;
if (n == 1) alert('Step 1');
else if (n == 2) alert('Step 2');
else if (n == 3) alert('Step 3');
else alert('Default step');

laimas 08.09.2016 02:07

Цитата:

Сообщение от MSSERG
И вообще, здесь в моменте на мой ответ среагировали, а когда создал тему с вопросом, так до сих пор и не получил ответа

Ну так я не дежурный здесь, чтобы в момент на все отвечать. :)

MSSERG 08.09.2016 15:07

Хорошо, тогда без скобок перепиши тот код, и пусть он заработает, я проверял, у меня не работает без скобок, а со скобками работает, как ты это объяснишь? Или в это нужно верить, и тогда будет работать?

laimas 08.09.2016 15:58

Цитата:

Сообщение от MSSERG
у меня не работает без скобок, а со скобками работает, как ты это объяснишь?

Я не в курсе вообще, что у кого не работает, тема старая буков много, перелистывать не охота. ) Да и не в этом дело.

//здесь значение a будет присвоено по условию, а для b в любом случае
//то есть писать if(1) { a = 3; } нет никакой необходмости
if(1) a = 3;
b = 2;
//а чтобы при этом и b было присвоено значение также по этому условию, 
//то только так и фигурные скобки тут необходимы
if(1) {
    a = 3;
    b = 2;
}

MSSERG 08.09.2016 19:38

Цитата:

Сообщение от laimas
Да и не в этом дело.

Ладно, спасибо, буду знать, вообще сам только начал изучать JS, сейчас собираюсь плотно начать изучать, буду писать много всякого добра на нём, в первую очередь для своего сайта, так что ещё не раз меня встретишь, с интересными вопросами)

laimas 08.09.2016 19:54

Но и указывать скобки тоже не запрещено, то есть ошибки от этого не будет. Тут кто какой философии придерживается, есть утверждающие, что без фигурных скобок код плохо читается, и т.п..

Отлично он читается, потому как мусора меньше. Но вот так форматировать код:

function text()
{document.getElementById("test").style.textAlign="left";}


это нечто. Я в теме где указан этот код даже сперва написал, что скобки лишние, ибо на автомате привык читать:

//либо так, что я предпочитаю
function name() {
    //тело функции
}
//либо пишут так, что лично я не использую
function name() 
    {
        //тело функции
    }


хотя зрительно заметил, что что-то не то, и только спустя время из подсознания всплыло и я убрал комментарий по этому поводу.

Так не стоит писать, это грабли способствующие появлению ошибок.

MSSERG 08.09.2016 21:15

Цитата:

Сообщение от laimas
Так не стоит писать, это грабли способствующие появлению ошибок.

Там код на пол строчки, можно и так записать как я это сделал, конечно в последующем где код будет длиннее буду использовать правильную конструкцию, а в пол строчки и так можно, даже как то проще воспринимается, когда всё в одной строке, когда кода мало)

laimas 08.09.2016 21:28

Цитата:

Сообщение от MSSERG
а в пол строчки и так можно, даже как то проще воспринимается

Нет ничего хуже, чем вредные привычки и тезиса "И так сойдет". Скобки четко определяющие тело конструкции и табуляция, это хороший код. В куче, не понять где начало, где конец даже в одной строке, это не код, это запись в амбарной книге.


Часовой пояс GMT +3, время: 09:59.