Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать именованую функцию, запускающуюся при объявлении? (https://javascript.ru/forum/misc/33760-kak-sdelat-imenovanuyu-funkciyu-zapuskayushhuyusya-pri-obyavlenii.html)

melky 09.12.2012 10:57

Цитата:

Сообщение от iMaxmaxmaximus (Сообщение 220375)
я что то не слышал про такие О_О
или ты пошутил?

нет, не пошутил. забинденные функции возвращаются после Function.prototype.bind

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

kobezzza 09.12.2012 11:02

Цитата:

Сообщение от melky (Сообщение 220377)
нет, не пошутил. забинденные функции возвращаются после Function.prototype.bind

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

Я проверял вызов забинденых функций в цикле, тормознее раз в 5 :)

melky 09.12.2012 11:08

Цитата:

Сообщение от kobezzza
Я проверял вызов забинденых функций в цикле, тормознее раз в 5

парадокс :) интересно, почему так

tenshi 09.12.2012 13:01

и пошли все выпендриваться кто лучше знает яваскрипт, развернулась дискуссия о тонкостях именования функций, начали сравнивать скорости разных объявлений)

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

melky 09.12.2012 13:52

Цитата:

Сообщение от iMaxmaxmaximus (Сообщение 220382)
Ну так раз они выражаются выражением вызова метода bind, значит они выраженные. Кэп.

И, для справки
Function.prototype.bind = function(context){
    var self = this;
    return function(){ self.apply(context, arguments) }
}

что за коленочное поделие?
Цитата:

ПРИМЕЧАНИЕ У объектов Function, созданных посредством Function.prototype.bind, отсутствует свойство prototype или внутренние свойства [[code]], [[FormalParameters]] и [[Scope]].
я про это говорил. по логике они должны быть быстрее, т.к. у них много всего обрезается.

но на практике
http://jsperf.com/another-bind-performance-check

Цитата:

Сообщение от tenshi (Сообщение 220390)
и пошли все выпендриваться кто лучше знает яваскрипт, развернулась дискуссия о тонкостях именования функций, начали сравнивать скорости разных объявлений)

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

так то уже пошёл оффтоп. чего трёп критиковать?

tenshi 09.12.2012 14:08

а при чём тут рефакторинг?

tenshi 09.12.2012 14:18

ртфм http://ru.wikipedia.org/wiki/%D0%A0%...B8%D0%BD%D0%B3

melky 09.12.2012 15:01

Цитата:

Сообщение от iMaxmaxmaximus (Сообщение 220401)
в смысле? коленочное поделие как коленочное поделие, че тупим то.

ото ж. дальше мой пост не читал?

melky 09.12.2012 15:45

Цитата:

Сообщение от iMaxmaxmaximus
Понятно зачем нужно было коленочное поделие?

,KZNM а я говорю, что это волшебство, т.к. у забинденных функций нет области видимости, формальных аргументов и исходного кода, возвращаемого по toString. это не просто выражение, и невозможно создать такой велосипед, который убирал бы выше перечисленные свойства. понимаешь, к чему я? то, что это выражение, никто не спорит, блджад


Часовой пояс GMT +3, время: 23:30.