Pull to refresh

Comments 2

Выполнение функции завершается либо после того, как оказывается выполненным весь код, который она содержит, либо после того, как в коде встречается ключевое слово return. Когда в функции встречается это ключевое слово, её работа завершается, а управление передаётся в то место, откуда была вызвана функция.

Простите, но не могли бы вы объяснить логику работы когда используется try-catch-finally?
Пример кода:
function myFunction() {
    try {
        /* блок1 с оператором return */
        return;
    }
    finally {
        /* блок2 */
    }
}
Блок finally выполняется всегда перед выходом из функции.
В данном случае после вызова return в блоке catch, выполнение кода перейдёт в блок finally, а выход из функции будет осуществлён уже после её выполнения.
Если в блоке try возвращается какое-либо значение, а в блоке finally присутствует конструкция
```
return value;
```
то возвращаемое значение будет перезаписано.
Sign up to leave a comment.