Задачи для решения
Работа с call
Пусть дан следующий код:
<input id="elem" value="привет">
var elem = document.getElementById('elem');
function func() {
alert(this.value);
}
func(); //тут должно вывести value инпута
Добавьте в последнюю строчку метод call() так, чтобы на экран вывелось value инпута, лежащего в переменной elem.
Пусть дан следующий код:
<input id="elem" value="привет">
var elem = document.getElementById('elem');
function func(surname, name) {
alert(this.value + ', ' + surname + ' ' + name);
}
func(); //тут должно вывести 'привет, Иванов Иван'
Добавьте в последнюю строчку метод call() так, чтобы на экран вывелось 'привет, Иванов Иван'. Слово 'привет' должно взяться из value инпута, а 'Иванов' и 'Иван' должны быть параметрами функциями.
Работа с apply
Переделайте решение предыдущей задачи так, чтобы место метода call() был метод apply().
Работа с bind
Пусть дан следующий код:
<input id="elem" value="привет">
var elem = document.getElementById('elem');
function func(surname, name) {
alert(this.value + ', ' + surname + ' ' + name);
}
//Тут напишите конструкцию с bind()
func('Иванов', 'Иван'); //тут должно вывести 'привет, Иванов Иван'
func('Петров', 'Петр'); //тут должно вывести 'привет, Петров Петр'
Напишите в указанном месте конструкцию с методом bind() так, чтобы this внутри функции func всегда указывал на инпут из переменной elem.