Co oznacza " (function () {});", funkcja wewnątrz nawiasów, w javascript? [duplikat]
Możliwe duplikaty:
Co to znaczy? (function (x,y)){...}){a, b) ; w JavaScript
co robią nawiasy otaczające JavaScript object/function / class declaration mean?
Cześć Wszystkim
Nie wiem co robi:
(function(){
// Do something here
...
})(someWord) //Why is this here?;
Moje pytania to:
- jaki jest sens umieszczania funkcji w nawiasach .tzn.
(function(){});
? - co robi zestaw nawiasów na końcu funkcji?
Zwykle widzę je w kodach jquery i niektórych innych bibliotekach javascript.
5 answers
Natychmiast wywołujesz funkcję anonymus z określonym parametrem.
Przykład:
(function(name){
alert(name);
})('peter')
To wpis " Piotr ".
W przypadku jQuery możesz przekazać jQuery
jako parametr i użyć $
w swojej funkcji. Możesz więc nadal używać jQuery w trybie noConflict, ale użyj podręcznego $
:
jQuery.noConflict()
(function($){
var obj = $('<div/>', { id: 'someId' });
})(jQuery)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-28 14:13:41
Tworzysz funkcję, która jest natychmiast wywoływana, z someWord
jako parametrem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-28 14:10:46
To sposób na zdefiniowanie funkcji anonimowej, a następnie natychmiastowe jej wykonanie-nie pozostawiając śladu, jak to było. Zakres funkcji jest naprawdę lokalny. Nawiasy ()
Na końcu wykonują funkcję -- nawiasy zamykające mają na celu disambiguate what is being executed.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-28 14:11:49
Zasadniczo pozwala to zadeklarować funkcję anonimową, a następnie zamykając ją w nawiasach i pisząc (someWord)
uruchamiasz funkcję. Można myśleć o tym jako o zadeklarowaniu obiektu, a następnie natychmiastowym utworzeniu instancji obiektu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-28 14:12:23
Służy do tworzenia funkcji anonimowej (funkcja bez nazwy, która może być "zagnieżdżona" wewnątrz innej funkcji) i przekazywania argumentu do tej funkcji. Słowo jest przekazywane jako argument, a funkcja może je odczytać używając słowa kluczowego "arguments".
Prosty przykład użycia:
function Foo(myval) {
(function(){
// Do something here
alert(arguments[0]);
})(myval); //pass myval as argument to anonymous function
}
...
Foo(10);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-28 14:13:25