Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 19.02.2012, 20:08
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Mахmахmахimus
что означает стрелочка?
function
Ответить с цитированием
  #32 (permalink)  
Старый 19.02.2012, 20:20
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

monolithed,
Спасибо большое я тебя нашел) тперь тебе не скрыться) ответь на вопрос про поля в классах) а то я дальше делать не могу потому что не знаю что должно получиться(((

Вопрос про виды полей в классах
Ответить с цитированием
  #33 (permalink)  
Старый 20.02.2012, 00:12
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Не понял про bind, разве в bound-функция не передает все аргументы в исходную?
Ответить с цитированием
  #34 (permalink)  
Старый 20.02.2012, 00:15
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

Нет, бинд только закрепляет контекст, вторым и последующими аргументами бинда будут закрепленные параметры функции.

если функция принимала 2 аргумента, а мы её забиндили к какому то контексту а так же забиндили какой то первый парамет, то потом передав забинденной функции ОДИН параметр, он будет ей трактоваться как второй.
Ответить с цитированием
  #35 (permalink)  
Старый 20.02.2012, 00:19
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Ну и почему log = console.log.bind(console) не должно работать? Новая bound-функция привязывается к console и может принимать столько же аргументов, сколько и console.log

Последний раз редактировалось Octane, 20.02.2012 в 00:25.
Ответить с цитированием
  #36 (permalink)  
Старый 20.02.2012, 00:30
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Octane,
Да, вы правы Естественно передаются все параметры, ведь это всего лишь обёртка привязанная к определённому контексту. Но в данном случае, нужно будет вручную передавать все возможные параметры которые придут в console.log. Не делать же так, в самом деле:
var a = console.log.bind(console);
console.log = function(){
a.apply(console /* Ну или видимо null можно */, arguments);
}

Смысл байнда тогда отпадает

П.С. А можно извратиться так:
var a = Function.prototype.apply.bind(console.log, console);
console.log = function(){
a(arguments);
}
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.

Последний раз редактировалось Nekromancer, 20.02.2012 в 00:34.
Ответить с цитированием
  #37 (permalink)  
Старый 20.02.2012, 00:37
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

ааааааааа нипанимаю, все ведь работает без apply:
var log = console.log.bind(console);
log(1,2,3,4)

Ответить с цитированием
  #38 (permalink)  
Старый 20.02.2012, 00:40
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Octane,
Да работает, работает. Но вы видели пример Аквариума, что он там напридумывал? Это выглядело примерно так:
var log = console.log.bind(console);
console.log = function(a){
log(a);
};

Так будет работать только один параметр.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #39 (permalink)  
Старый 20.02.2012, 00:46
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

Некроморф хочет сказать что логер который я сделал для примера декоратора не достаточно полный. Так как не может принимать более одного параметра. За что ему и спасибо нашему капитану очевидность. Да, это ни ка не относится к декоратору, но он поставил смайлик что означало что он как бы к слову.

Я подумал что он не знает что лог нужно биндить к контексту консоли чтобы он работал. И обьяснил ему что в другом контексте работать не будет.

Тут он показал что есть эплай, тогда за место того чтобы сказать ну и на хрена мне в примере декоратора эплай, я начал ему обьяснять что бинд работает быстрее, тогда он мне сказал что мой логер не полный.

Последний раз редактировалось Mахmахmахimus, 20.02.2012 в 00:49.
Ответить с цитированием
  #40 (permalink)  
Старый 20.02.2012, 11:40
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от monolithed
У меня такое чувство, что Dart начали писать еще в 80-х.
хм, а почему?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск