 
			
				05.08.2014, 22:06
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.01.2010 
					
					
					
						Сообщений: 354
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Я знаю что такое function expression. Зачем использовать такой способ, если есть более простой function declaration? С ним работает хойстинг, он лучше оптимизируется и сжимается.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.08.2014, 22:14
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 23.12.2013 
					
					
					
						Сообщений: 1,856
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		ixth, 
 у меня пока что два варианта: 
1. Хочется 
2. Для оптимизации 
Вот примерчик
 
//не оптимизированный вариант
  function fun(i) {  ...  }
  function fun2(i) {  ...  }
  for (var i = 0; i < мильён; i++) {
    if (условие) {
      fun(i);
    } else {
      fun2(i);
    }
  }
// оптимизорованный
  function fun(i) {  ...  }
  function fun2(i) {  ...  }
  var f;
  if (условие) {
    f = fun;
  } else {
    f = fun2;
  }
  for (var i = 0; i < мильён; i++) {
    f(i);
  }
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.08.2014, 22:23
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Быдлокодер;) 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.11.2010 
					
					
					
						Сообщений: 4,338
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		В ES5 FunctionDeclaration обязан быть либо вверху глобали, либо функции, т.е. 
function foo() {
    'use strict';
    if (true) {
        function bar() { // Error
        }
    }
}
В ES6 обсуждают концепцию локальных деклараций, а пока юзаю let + FunctionExpression если нужно такое.  
		
	
		
		
		
		
		
			
		
		
		
		
		
						  
				
				Последний раз редактировалось kobezzza, 05.08.2014 в 22:35.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.08.2014, 22:31
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 22.03.2012 
					
					
					
						Сообщений: 3,744
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от ixth
			
		
	 | 
 
	| 
		Какого черта ты не показал куда именно мне заглянуть?
	 | 
 
	
 
 какого чёрта ты такой наглый и не умеешь гуглить
 http://javascript.ru/basic/functions 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.08.2014, 22:55
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.01.2010 
					
					
					
						Сообщений: 354
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от kobezzza
			 
		
	 | 
 
	
		В ES5 FunctionDeclaration обязан быть либо вверху глобали, либо функции, т.е. 
 
function foo() {
    'use strict';
    if (true) {
        function bar() { // Error
        }
    }
}
 
 
В ES6 обсуждают концепцию локальных деклараций, а пока юзаю let + FunctionExpression если нужно такое.
	 | 
 
	
 
 Да, но "вверху глобали" !== "выше в коде", так?
 
Такой пример у меня нормально отрабатывает:
 
function foo() {
    'use strict';
    var a = 1;
    return a + bar();
    function bar() {
        return 1;
    }
}
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.08.2014, 22:59
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Быдлокодер;) 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.11.2010 
					
					
					
						Сообщений: 4,338
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	| 
		Да, но "вверху глобали" !== "выше в коде", так?
	 | 
 
	
 
 Ну имеется ввиду не может быть вложен в блок, там if и т.д.
 
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	| 
		Такой пример у меня нормально отрабатывает
	 | 
 
	
 
 Ну разумеется    
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.08.2014, 23:02
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 23.12.2013 
					
					
					
						Сообщений: 1,856
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		ixth,
  
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	| 
		Такой пример у меня нормально отрабатывает
	 | 
 
	
 
 канешн отрабатывает, там же объявляется фанкшн внутри фанкшн, так дозволено делать.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.08.2014, 23:38
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.01.2010 
					
					
					
						Сообщений: 354
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от bes
			 
		
	 | 
 
	| 
		какого чёрта ты такой наглый
	 | 
 
	
 
 Патамучто я дольше на раене-на!
  
Спасибо, я знаю основы.
 
Я думал, возможно, есть какая-то особая магия, о которой я не знаю. Но судя по всему все делают, потому что  Резиг так сказал. Но  резюме отсюда немного отрезвляет, конечно.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.08.2014, 23:39
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.01.2010 
					
					
					
						Сообщений: 354
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от kobezzza
			 
		
	 | 
 
	| 
		Ну имеется ввиду не может быть вложен в блок, там if и т.д.
	 | 
 
	
 
 Отлично. Я привык, что функции внутри скоупа — как сноски, внизу.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				06.08.2014, 16:51
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 junior 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 29.11.2011 
					
					
					
						Сообщений: 3,924
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от melky
			
		
	 | 
 
	| 
		разница между TDD и BDD в том, какие сами тесты (синтаксис) и что они тестируют
	 | 
 
	
 
 может ты нам еще про разницу между unit & e2e расскажешь?    
		
	
		
		
		
		
		
			
				__________________ 
				Чебурашка стал символом олимпийских игр. А чего достиг ты? 
Тишина - самый громкий звук
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |