| 
	| 
	
	| 
		
	| 
			
			 
			
				02.05.2011, 15:56
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 10.03.2011 
						Сообщений: 13
					 
		
 |  |  
	| 
				Объясните код плиз!
			 function getUrlVars() {var vars = {};
 var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
 vars[key] = value;
 });
 return vars;
 }
 
 Я понимаю, что в итоге получается... юзаю это
 знаю что function(m,key,value) это анонимная функция
 и /[?&]+([^=&]+)=([^&]*)/gi регулярное выражение
 
 Но, что за параметры мы передаем в функцию, которых нигде больше нет, а параметр m вообще нигде не используется.... о_О я в шоке
 как эти параметры могут хранить данные если мы им ничего не присваиваем, короче связи между этими параметрами и то что получается в итоге никакой нет, но все работает КАК ТАК!?
 |  |  
	| 
		
	| 
			
			 
			
				02.05.2011, 15:59
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 19.02.2008 
						Сообщений: 9,177
					 
		
 |  |  
	|  |  |  
	| 
		
	| 
			
			 
			
				02.05.2011, 16:04
			
			
			
		 |  
	| 
		
			|  | ⊞ Развернуть       |  | 
					Регистрация: 11.01.2010 
						Сообщений: 1,810
					 
		
 |  |  
	| 
	
 
	| Сообщение от unlike777 |  
	| что за параметры мы передаем в функцию |  
	
 _Мы_ ничего не передаем. _Мы_ только принимаем. А передает параметры внутренняя реализация функции replace в JS. Она вызывает переданную функцию-callback с n (или более, сейчас не существенно) аргументами: сама совпавшая строка (m, которая нам не нужна, поэтому и не используется) и остальные (n - 1) аргументов - захваченные строки (которые соответствуют содержимому скобок () в регэкспе).			 Последний раз редактировалось B@rmaley.e><e, 02.05.2011 в 17:20.
 |  |  
	| 
		
	| 
			
			 
			
				02.05.2011, 17:10
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 10.03.2011 
						Сообщений: 13
					 
		
 |  |  
	| Если replaceText является функцией, то для каждой совпадающей подстроки вызывается функция, количество аргументов которой равно m + 3, где m — число круглых скобок, обозначающих отдельные шаблоны в аргументе rgExp. Первым аргументом является подстрока, поиск которой выполняется. Следующие m аргументов — это все найденные совпадения. Аргумент m + 2 — это смещение в текущем stringObj, содержащем найденное совпадение, а аргумент m + 3 — это сам stringObj. Результатом является строка, в которой все найденные подстроки заменены соответствующий значением, возвращенным вызываемой функцией.
 Жесть
 так и не понятно, что находится в m, key и value =)
 |  |  
	| 
		
	| 
			
			 
			
				02.05.2011, 20:45
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 10.03.2011 
						Сообщений: 13
					 
		
 |  |  
	| плин не могу понять эти передаваемые функции в функциивот есть пример
 object.click(function(eventObject){
 eventObject.doSomething;
 });
 поправьте меня, потому что моя логика не укладывается =)
 
 У объекта есть метод click, когда он выполняется
 в него передается анонимная функция (со своим без разницы каким кодом), в анонимную функцию передается eventObject, который используется в этой функции, но как он может передаваться если он нигде не существует, а существует токо в самой функии, он вроде создается в этой же функции в которую передается....
 нипонятно Т_Т
 
 пытаюсь построить последовательную цепочку всех преобразований, что бы понять эту конструкцию, но не выходит (что за чем идет и что куда передается)
 
 ЗЫ как функция может сама в себя передать чтото!?
 			 Последний раз редактировалось unlike777, 02.05.2011 в 20:48.
 |  |  
	| 
		
	| 
			
			 
			
				02.05.2011, 20:48
			
			
			
		 |  
	| 
		
			
			| sinistral     |  | 
					Регистрация: 28.03.2011 
						Сообщений: 5,418
					 
		
 |  |  
	| 
	
 
	| Сообщение от unlike777   |  
	| 
object.click(function(eventObject){
eventObject.doSomething;
});
 У объекта есть метод click, когда он выполняется
 в него передается анонимная функция (со своим без разницы каким кодом),
 
 в анонимную функцию передается eventObject, который используется в этой функции, но как он может передаваться если он нигде не существует, а существует токо в самой функии, он вроде создается в этой же функции в которую передается....
 нипонятно Т_Т
 
 |  
	
 вот тоже самое
 
window.onclick = function(event) {
   event.doSMTH.....
}
  дать мануал по ивентам с этого сайта? |  |  
	| 
		
	| 
			
			 
			
				02.05.2011, 20:55
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 10.03.2011 
						Сообщений: 13
					 
		
 |  |  
	| 2melkyспс мануалов я начитался =)
 
 Я не могу понять процесс, когда в eventObject заносятся данные!!!!!
 нигде не обявлена... строгого имени не требует, принимает любое имя...
 и в то же время все робит! когда eventObject становиться не абстрактным а реальным обектом?
 |  |  
	| 
		
	| 
			
			 
			
				02.05.2011, 20:59
			
			
			
		 |  
	| 
		
			
			| sinistral     |  | 
					Регистрация: 28.03.2011 
						Сообщений: 5,418
					 
		
 |  |  
	| при клике на элемент   |  |  
	| 
		
	| 
			
			 
			
				02.05.2011, 21:03
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 19.02.2008 
						Сообщений: 9,177
					 
		
 |  |  
	| 
	
 
	| Сообщение от unlike777 |  
	| object.click(function(eventObject){ eventObject.doSomething;
 });
 |  
	
 В переводе на русский. 
Человек объекту: чувак, когда пользователь кликнет по ссылке, вызови вот эту функцию и передай ей объект события. |  |  
	| 
		
	| 
			
			 
			
				02.05.2011, 21:16
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 10.03.2011 
						Сообщений: 13
					 
		
 |  |  
	| 2KolyajНу абстрактно понятно...
 
 eventObject'у пофиг на именную привязку
 => САМ метод click проверяет есть ли функция среди переданных ему объектов, если есть то первый переданный параметр ЭТОЙ функции связывает с реальным ивентОбектом(типо eventObject(пох какое имя) = *реально произошедшее событие*???!?!?!?!?!? так штоле?
 
 мне нужна не абстрактное объяснение, а на практике как это происходит =)
 
 мб я тупой, токо помидорами не закидывайте)
 |  |  
 
 
 
 |  |