[JavaScript] this !== window, jak stworzyć funkcje bez globalnego zasięgu |
[JavaScript] this !== window, jak stworzyć funkcje bez globalnego zasięgu |
27.01.2012, 14:28:00
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) |
Witam
Niezależnie jak i gdzie zdeklaruje funkcje, po jej wywolaniu "this" zawse bedzie referencją window. Jest to niewydajne, kazda funkcja przed odpaleniem musi miec zbudowane referencje globalnego zasiegu. Ponoć można zrobic tak, że pod "this" będzie zamiast window np. garstka argumentow albo najlepiej nic. Jak to zrobic? Ten gość od jQuery mowi o tym od 19 minuty, kończy na początku 21. http://youtu.be/0LKDImgRfrg?t=19m Ten post edytował wNogachSpisz 27.01.2012, 14:34:14 |
|
|
27.01.2012, 15:45:46
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) |
Nie wiem czy dobrze Cię zrozumiałem ale chodzi Ci pewnie ogólnie o kontekst
Są do tego dwie metody które ma każda funkcja:
Czyli wywołujemy funkcje testowa z odpowiednim kontestem - to co podamy jako 1szy argument apply i call będzie this'em w tej funkcji Co do argumentów:
Ten post edytował Sephirus 27.01.2012, 15:46:35 -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
27.01.2012, 16:03:48
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) |
Świetnie, teraz już widze że każda funkcja ma metode call().
Właśnie o to mi chodziło. Dzięki! |
|
|
Wersja Lo-Fi | Aktualny czas: 17.04.2024 - 19:34 |