Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 19.02.2012, 19:28
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

Nekromancer,
как бы нужен так то чтобы работало
Ну сделай пример без бинда) гляну что ль как это делается у отцов js))

Последний раз редактировалось Mахmахmахimus, 19.02.2012 в 19:31.
Ответить с цитированием
  #22 (permalink)  
Старый 19.02.2012, 19:30
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

(function(){
var log = console.log;
 
console.log = function(a){
    alert(a);
    log.apply(this, arguments);
}
 
})();
console.log("It's a Magic!")
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #23 (permalink)  
Старый 19.02.2012, 19:32
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

Здесь apply не нужен как бы, он сильнее тормозит чем бинд) бинд фиксируется один раз)
а эплай ищется в прототипах функции и.т.п.
Ответить с цитированием
  #24 (permalink)  
Старый 19.02.2012, 19:39
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

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

Сообщение от Nekromancer
Ну во первых твой bind не сработает при аргументах больше одного
ясно) а почему ты сказал что это не нужно? я не использую консоль с больше одного аргумента). А во вторых бинд быстрее)
в среднем бинд выдавал (алерт убрал) 1900-2100
а эплай выдавал
2300 - 2900

на 10 000 итераций

но спасибо что сказал, ты же не знал что я знаю про эплай)

Ну так что, это декоратор?
Ответить с цитированием
  #26 (permalink)  
Старый 19.02.2012, 19:51
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

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

Nekromancer,
Вы там всем офисом за компом сидите ?

(function(){
var log = console.log.bind(console);

console.log = function(a){
    log(a);
}

})();

var start = new Date()
for ( var i = 0; i < 100000; i++) {
	console.log('d', 'gg');
}

alert((new Date()) - start)


(function() {
	var log = console.log;

	console.log = function() {
		log.apply(this, arguments);
	}

})();

var start = new Date()
for ( var i = 0; i < 100000; i++) {
	console.log('d', 'gg');
}

alert((new Date()) - start)

Последний раз редактировалось Mахmахmахimus, 19.02.2012 в 20:01.
Ответить с цитированием
  #28 (permalink)  
Старый 19.02.2012, 20:01
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Mахmахmахimus,
Не-не-не, запускать даже не буду. И ты наверно не запускал. Ты в курсе что в хроме можно максимум 1000 раз отпечатать в консоль подряд?
А может ты ещё всё таки для правильно бенчмарка заменишь apply на call и будешь передавать один аргумент, ведь bind с несколькими в данном случае не работает?
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #29 (permalink)  
Старый 19.02.2012, 20:04
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

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

Сообщение от Nekromancer
Не-не-не, запускать даже не буду
да короче я много раз редактировал запутался, там было вначале 10 000 итераций поом сделал больше, но слишклм много щас поправил. короче я понял тебя, ты рекомендуешь в деаораторах использовать эплай а не бинд?? ясно
Ответить с цитированием
Ответ



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

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