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