Invader написав:if ( !b('b') ) {
return false
}
Чому у такому випадку не відбувається подальше виконання коду? Що я такого не знаю, що я не знаю чому саме так а не інакше? І взагалі, куди повертається значення якщо return виконується в глобальній області видимості (чи де вона там викон.?). У випадку з JS всередині браузера, мабуть в браузер?
Нікуди. А куди повертається значення сінуса в виклику
?
Правильно - нікуди. В JavaScript нема вимоги, щоб всі повернені значення кудись потрапляли. Власне, я знаю тільки одну мову, де є така вимога - це старий стандарт Паскаля. Може, ще Фортран, але я його знаю вкрай поверхово.
А переривається виконання, бо return перериває виконання поточної функції. От і все.
P.S. Можете використовувати && - цей оператор виконує другий параметр, тільки якщо перший має значення true: