Aktywne Wpisy
Polecam apke Too Good to Go. Za ten zestaw zapłaciłem 4£ #uk
1N4148 +325
#deweloperka #rod #nieruchomosci #patodeweloperka
Po co komu RODy, lepiej wykorzystać ich miejsce na osiedla nova green park i mieć ogródek do odpoczynku zaraz przy swoim apartamencie ( ͡º ͜ʖ͡º)
Po co komu RODy, lepiej wykorzystać ich miejsce na osiedla nova green park i mieć ogródek do odpoczynku zaraz przy swoim apartamencie ( ͡º ͜ʖ͡º)
Np mamy taki fragment kodu:
document.body.addEventListener('mousemove', function(e){
console.log(e.clientX, e.clientY);
})
No i mamy tutaj wywołanie na body metody addEventListener - jako zdarzenie przyjmujemy ruch myszki na body. Następnie mamy funkcję anonimową, która jako argument przyjmuje zmienną o nazwie 'e'. Następnie za pomocą tej zmiennej możemy się odwoływać do obiektu Event i tutaj np za pomocą clientX i clientY wyświetlamy w konsoli położenie kursora myszy w oknie przeglądarki za każdym razem, kiedy ją przesuwamy.
I teraz moje pytanie, o co chodzi z tym parametrem e? Na początku widziałem kod, w którym ten parametr nazywał się event i myślałem, że jest to związane z nazwą "Event" i po prostu zmiennej o takiej nazwie trzeba używać, aby odwoływać się do obiektu Event. Jednak potem zobaczyłem, że ten parametr równie dobrze może się nazywać 'evnt' albo nawet sama literka 'e'. Może mi ktoś wytłumaczyć, dlaczego nazwa tego parametru może być w zasadzie dowolna, a i tak JS "wie", że to się będzie odnosić do obiektu Event?
Czy tu chodzi o to, ze skoro po kropce piszę np clientX, to JS to rozpoznaje, że tutaj chodzi o obiekt Event, więc pobiera odpowiednie dane, w tym przypadku pozycję kursora?
I jeszcze jedno: czy ten parametr odnoszący się do obiektu Event musi być pierwszy parametrem w funkcji? Czy może być w dowolnym miejscu?
#frontend #javascript #webdev #naukaprogramowania #programowanie
Komentarz usunięty przez autora
byłaby jakaś różnica, gdyby zamiast funkcji anonimowej była tu funkcja strzałkowa? xd
Bo prawdę mówiąc w tym przykładzie była domyślnie funkcja strzałkowa, ale jak przepisywałem to na mirko, to zmieniłem na anonimową i nie wiem, czy coś to zmienia. xd
function a(dupa){}
function b(test) {}
oznacza tylko w jaki sposób możemy dostać się do przekazanych parametrów ze środka funkcji
Natomiast kolejność ma jak najbardziej znaczenie
document.body.addEventListener('mousemove', function(e){ })
równie dobrze mógłby być
function test(e) {}
document.body.addEventListener('mousemove',test)
2 parametr w addEventListener przyjmuje po prostu funkcje którą będzie odpalał z odpowiednimi parametrami
https://developer.mozilla.org/pl/docs/Web/API/Element/addEventListener
czemu usunąłeś komentarz? :/
Twoje tłumaczenie było chyba najlepsze, ale zapomniałem już co napisałeś. xd
Napisz to jeszcze raz, chociaż mi na PW xd
Dzięki.
1. Jak funkcja ma tylko jeden argument, to on zawsze będzie się odnosił do obiektu Event.
2. Jeżeli chcemy się odnosić do obiektu Event, to tylko pierwszy argument może być z nim związany, więc dopiero drugi i następne argumenty mogą przyjmować jakieś tam
const dupa = 123;
const handler = (event, someValue) => {
// do anything
};
document.body.addEventListener('mousemove', (event) => { handler(event, dupa); }, false);
A gdybym w funkcji miał tylko jeden argument i do niego coś przekazał. To jak się odnieść do obiektu Event?