Тест по основам программирования на JavaScript

Тема 3: Функции и области видимости в JavaScript

2

Что выведет код:

javascript
function f(){ return 5; } console.log(f());

5

undefined

f

Что выведет console.log(typeof (()=>{}))

"function"

"object"

"undefined"

Что делает оператор arguments внутри функции

Позволяет обратиться к аргументам функции

Возвращает длину массива

Создаёт новый массив

Какие переменные относятся к глобальной области видимости?

var объявленные вне функций

const объявленные вне функций

let внутри функции

переменные внутри блока

Что делает apply()

Выполняет функцию с this и массивом аргументов

Создаёт копию функции

Ничего

Что выведет console.log(f.name); если function f(){}

"f"

undefined

"function"

Упорядочи этапы объявления и вызова функции

Объявление функции

Вызов функции

Выполнение тела функции

Возврат значения

Что делает bind()

Возвращает новую функцию

Изменяет оригинальную функцию

Ничего

Упорядочь действия при рекурсивной функции

Вызов функции

Выполнение тела функции

Вызов самой себя

Возврат значения

Какие способы объявления функций существуют?

Function Declaration

Function Expression

Arrow Function

Class Function

Что вернёт console.log((x)=>x+1)(5)

6

5

undefined

Какие функции имеют блочную область видимости для переменных?

Стрелочные функции с let/const

Функции внутри блока с let/const

Function Declaration с var

Глобальные функции

Что делает функция высшего порядка?

Принимает функцию как аргумент

Возвращает функцию

Изменяет глобальный объект

Ничего

Что делает метод call()

Выполняет функцию с указанным this

Создаёт новую функцию

Возвращает массив

Что из перечисленного — корректные способы вызвать функцию?

f()

f.call(this)

f.apply(this)

f{}

Что делает оператор return внутри функции?

Завершает функцию и возвращает значение

Прерывает цикл

Ничего

Упорядочи этапы замыкания

Функция объявляется

Внутри создаются локальные переменные

Возвращается функция из внешней функции

Функция использует переменные внешней функции

Установи соответствия: тип функции → характеристика

Function Declaration

Поднимается вверх области видимости

Function Expression

Доступна после объявления

Arrow Function

Не имеет своего this

Anonymous Function

Не имеет имени

Что вернёт console.log(typeof f) если let f = function() {}

"function"

"object"

"undefined"

Какая область видимости имеет переменная внутри функции без var/let/const

Глобальная

Локальная

Блочная

Что выведет console.log((function(){})())

undefined

function

Error

Что вернёт вызов функции g() если let g = () => 10

10

undefined

Ошибка

Что делает стрелочная функция () => x * 2

Умножает x на 2 и возвращает

Создаёт массив

Ничего

Какие области видимости существуют в JS?

Глобальная

Локальная (функция)

Блочная (let/const)

Статическая