Как сделать именованую функцию, запускающуюся при объявлении? 
		
		
		
		Т.е. можно ли 
	
var func = function() {...}
var func()
заменить одной строчкой?  | 
	
		
 С var и без дублирования - нет. 
	А так: 
(func = function() {alert(new Date())})()
func()
 | 
	
		
 Одной строкой, да легко:) 
	
var func = function(){ ... }; func();
 | 
	
		
 Точняк! Имя тоже надо было брать в скобки! Второй вариант с подвохом) 
	Кстати (var func = function() {alert(new Date())})() не работает. Приходится создавать глобальную переменную  | 
	
		
 Кстати есть ещё один дюже хитрый вариант(если функция не должна ничего возвращать): 
	
var func = function() {alert(new Date()); return arguments.callee}()
func()
 | 
	
		
 
var autorun= function( func ){
    func.call.apply( func, arguments )
    return func
}
var func= autorun( function(){
    alert( 1 )
} )
func()
 | 
	
		
 
var func= (new function( ){
    alert( 1 )
}).constructor
func()
 | 
	
		
 расслабься, мы не на экзамене 
	 | 
	
		
 Из всех предложенных вариантов я не увидел ни одной именованной функции. Ведь именованные функции объявляются вот так: 
	
function named () {};
Есть 2 вида функций, именованные и анонимные. Именованная функция видна везде (везде в области видимости), а анонимная - только после объявления. Почитать в учебнике. Есть еще одно отличие в этих функциях, и кажется это отличие как раз и послужило названием для этих типов функций (именованные и анонимные). 
//    Объявляем именованную функцию с именем named и интерпретатор сам
//    положит ее в переменную named 
function named () {
};
//    Объявляем неименованную функцию и ложим ее в переменную  noNamed 
var noNamed = function () {
};
//    Объявляем именованную функцию с именем ohoho и ложим ее в переменную wtf
var wtf = function ohoho () {
};
alert(named.name);
alert(noNamed.name);
alert(wtf.name);
Теперь к вопросу: Цитата: 
	
 
(function named () {
    //    Ваш код
}());
С виду бесполезная конструкция, но подобную именованную функцию можно вызвать из самой себя, это будет полезно в рекурсии. При этом эта функция не объявляет себя в области видимости в которой она находится (возможно это минус). Ну и если все же нужно сохранить ссылку на эту функцию то Aetae выше уже писал примеры.  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 они кстати должны работать быстрее обычных функций, особенно в замыкании, но я ещё не проверял.  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 и пошли все выпендриваться кто лучше знает яваскрипт, развернулась дискуссия о тонкостях именования функций, начали сравнивать скорости разных объявлений) 
	учитесь читать между строк. автор хотел упростить себе жизнь при копипасте. чтобы исправлять имя функции не в двух местах, а только в одном. и ему плевать будет функция именованной или нет. суть вопроса не в том, чтобы проверить ваши академические знания.  | 
	
		
 Цитата: 
	
 Цитата: 
	
 но на практике http://jsperf.com/another-bind-performance-check Цитата: 
	
  | 
	
		
 а при чём тут рефакторинг? 
	 | 
	
		
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 11:13. |