Объясните код плиз!
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 вообще нигде не используется.... о_О я в шоке как эти параметры могут хранить данные если мы им ничего не присваиваем, короче связи между этими параметрами и то что получается в итоге никакой нет, но все работает КАК ТАК!? |
|
Цитата:
|
Если replaceText является функцией, то для каждой совпадающей подстроки вызывается функция, количество аргументов которой равно m + 3, где m — число круглых скобок, обозначающих отдельные шаблоны в аргументе rgExp. Первым аргументом является подстрока, поиск которой выполняется. Следующие m аргументов — это все найденные совпадения. Аргумент m + 2 — это смещение в текущем stringObj, содержащем найденное совпадение, а аргумент m + 3 — это сам stringObj. Результатом является строка, в которой все найденные подстроки заменены соответствующий значением, возвращенным вызываемой функцией.
Жесть так и не понятно, что находится в m, key и value =) |
плин не могу понять эти передаваемые функции в функции
вот есть пример object.click(function(eventObject){ eventObject.doSomething; }); поправьте меня, потому что моя логика не укладывается =) У объекта есть метод click, когда он выполняется в него передается анонимная функция (со своим без разницы каким кодом), в анонимную функцию передается eventObject, который используется в этой функции, но как он может передаваться если он нигде не существует, а существует токо в самой функии, он вроде создается в этой же функции в которую передается.... нипонятно Т_Т пытаюсь построить последовательную цепочку всех преобразований, что бы понять эту конструкцию, но не выходит (что за чем идет и что куда передается) ЗЫ как функция может сама в себя передать чтото!? |
Цитата:
window.onclick = function(event) { event.doSMTH..... } :) дать мануал по ивентам с этого сайта? |
2melky
спс мануалов я начитался =) Я не могу понять процесс, когда в eventObject заносятся данные!!!!! нигде не обявлена... строгого имени не требует, принимает любое имя... и в то же время все робит! когда eventObject становиться не абстрактным а реальным обектом? |
при клике на элемент :)
|
Цитата:
Человек объекту: чувак, когда пользователь кликнет по ссылке, вызови вот эту функцию и передай ей объект события. |
2Kolyaj
Ну абстрактно понятно... eventObject'у пофиг на именную привязку => САМ метод click проверяет есть ли функция среди переданных ему объектов, если есть то первый переданный параметр ЭТОЙ функции связывает с реальным ивентОбектом(типо eventObject(пох какое имя) = *реально произошедшее событие*???!?!?!?!?!? так штоле? мне нужна не абстрактное объяснение, а на практике как это происходит =) мб я тупой, токо помидорами не закидывайте) |
Цитата:
Цитата:
|
пля
я уже хз как объяснять... на обычном примере function fun (q,w,e){ q+w+e} var a,b,c; fun (a,b,c); тут все понятно вот объявлены переменные вот они передаются object.click(function(eventObject){eventObject.doS omething;}); а тут откуда eventObject берется, если ему даже имя не критично, ладно бы там было строгое имя.... PS почему такой код канает object.click(function(e1) { e1.doSomething; }); а такой уже нет object.click(function(e1,e2) { e2.doSomething; }); почему событие помещается только в первый параметр... а если будет другой метод не click, как можно узнавать в какой параметр что помещается куча вопросов, на которые похоже нет ответа... (((( |
Цитата:
Цитата:
|
Потому что это бред.
|
Ну что я тут могу сказать....
ты относишься к инкапсулирующимся программистам если у тя афигенная память, чтобы тупо запомнить всевсевсе функции, методы, свойства - молодец но не хотеть знать как что устроенно это плохо, сори |
это тоже самое,что и написать строчку на JS ....
var a = 2*2; на асме. т.е. нахер это надо? я бы не стал ЭТИМ забивать голову. лучше пойду повторю про pop\push, shift\unshift, slice\splice, мать их за ногу. я их никогда не запомню |
Часовой пояс GMT +3, время: 17:25. |