Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Что за функции... / 4 сообщений из 4, страница 1 из 1
23.08.2007, 14:15
    #34747901
dima-russel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за функции...
Вот сегодня тестил функции
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
function $() {
  var results = [], element;
  for (var i =  0 ; i < arguments.length; i++) {
    element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);
    results[results.length] = element;
  }
  return results.length <  2  ? results[ 0 ] : results;
}

function $A(iterable) {
  if (!iterable) return [];
  if (iterable.toArray) {
    return iterable.toArray();
  } else {
    var results = [];
    for (var i =  0 ; i < iterable.length; i++)
      results.push(iterable[i]);
    return results;
  }
}

function fnBind() {
  var args = $A(arguments), __method = args.shift(), object = args.shift();
  var retval = function() {
    return __method.apply(object, args.concat($A(arguments)));
  }
  retval.__method = __method;
  return retval;
}
Это я так понялк акая-то библиотека, но матерится чего то на
Код: plaintext
return __method.apply(object, args.concat($A(arguments)));
, пишет что $A is not denied. Непонятно.
На как раз интересует это функция fnBind(), особенно что таоке __method и object, а то загуглить не получилось удачно
...
Рейтинг: 0 / 0
23.08.2007, 14:19
    #34747918
belugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за функции...
dima-russel
На как раз интересует это функция fnBind(), особенно что таоке __method и object, а то загуглить

Код: plaintext
1.
 __method = args.shift(), object = args.shift();
...
Рейтинг: 0 / 0
23.08.2007, 14:41
    #34748024
dima-russel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за функции...
Ну это понятно. Что значит вообще обозначение __method? Почему так обозначается?
...
Рейтинг: 0 / 0
23.08.2007, 15:01
    #34748120
belugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за функции...
dima-russelНу это понятно. Что значит вообще обозначение __method? Почему так обозначается?

судя по всему принято питоновское соглашение, по которому идентификаторы со специальным значением начинаются с __

fnBind в качестве аогументов берет объект, метод и список аргументов и возвращяет функцию, которая применяет этц функцию к этим объектам и аргументам, причем возвращенная функция ссылается на метод своим элементом __method

Вообще, если погуглить можно найти объяснение, как это работает
Understanding bind and bindAsEventListener in Javascript - Part II | www.neeraj.name
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Что за функции... / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]