powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Что за функции...
4 сообщений из 4, страница 1 из 1
Что за функции...
    #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
Что за функции...
    #34747918
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima-russel
На как раз интересует это функция fnBind(), особенно что таоке __method и object, а то загуглить

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

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

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

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


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