Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
YoungProgrammer
4 / 4 / 3
Регистрация: 18.01.2011
Сообщений: 206
#1

This в функции, которая в функции

04.07.2015, 10:02. Просмотров 188. Ответов 1
Метки нет (Все метки)

Листал учебник по js, наткнулся значит на тему "функции для работы с функциями"
Вот такой вот код:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Возвращает самостоятельную функцию, которая в свою очередь вызывает
// функцию "f" с заданными аргументами и добавляет дополнительные
// аргументы, передаваемые возвращаемой функции.
// (Этот прием иногда называется "currying".)
function bindArguments( /* функция */ f /*, начальные аргументы... */ ) {
    var boundArgs = arguments;
    return function() {
            // Создать массив аргументов. Он будет начинаться с аргументов,
            // определенных ранее, и заканчиваться аргументами, переданными сейчас
            var args = [];
            for (var i = 1; i < boundArgs.length; i++) args.push(boundArgs[i]);
            for (var i = 0; i < arguments.length; i++) args.push(arguments[i]);
            // Теперь вызвать функцию с новым списком аргументов
            return f.apply(this, args);
                }
            }
Я все понимаю в том коде кроме строчки return f.apply(this, args);. Никак не могу понять, что будет возвращать this и что он вообще там делает.

Безымянная функция-конструктор, получается вызывает f как метод?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2015, 10:02
Ответы с готовыми решениями:

Дождать выполнения функции которая выполняется в другой функции JavaScript
Добрый день. Мне нужно выполнить ajax функцию в другой функции. сейчас я...

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

Вызов функции, которая передалась через параметр
Создается функция, у которой тип одного из параметров - функция function...

Синтаксис анонимной функции, которая содержит весь код
Привет всем. Прочитал, что код вставляют в тело анонимной функции, вот такой:...

Получение значения локальной переменной функции вне этой функции
Возможно ли переменную объявленную в функции использовать за ее пределами?...

1
Thisman
Модератор
768 / 350 / 141
Регистрация: 17.07.2013
Сообщений: 992
04.07.2015, 11:19 #2
YoungProgrammer,

Javascript
1
f.apply(this, args);
apply вызывает функцию в нужном контексте, в данном случае нужный контекст будет window, потому что по умолчанию внутри функции this ссылается на window
Javascript
1
2
3
function logContext() { console.log( this ) };
 
logContext(); // window
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2015, 11:19

Вызов функции из другой функции после нажатия на кнопку
Помогите, пожалуйста! Никак не могу понять почему не запускается функция d()...

Управление переменными функции из другой функции
чисто гипотетически есть функция: function first() { var b = ; } а...

Вызов функции из другой функции в объекте
Добрый день. У меня есть скрипт: var combiner = { getString:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru