Что это значит? (Function() {}); ", функция внутри скобок, означает в javascript?
Возможные дубликаты:
What does this mean? (function (x,y)){…}){a,b); in JavaScript
Что означают круглые скобки, связанные с объявлением объекта/объекта/класса JavaScript?
Привет всем
Я не знаю, что делает следующее:
(function(){
// Do something here
...
})(someWord) //Why is this here?;
Мои вопросы:
- Что значит положить функцию внутри скобок .i.e.
(function(){});
?
- Что делает набор скобок в конце функции?
Я обычно вижу их в jquery-кодах и некоторых других javascript-библиотеках.
Ответы
Ответ 1
Вы сразу вызываете функцию анонима с определенным параметром.
Пример:
(function(name){
alert(name);
})('peter')
Это предупреждение " peter".
В случае jQuery вы можете передать jQuery
в качестве параметра и использовать $
в своей функции. Таким образом, вы все еще можете использовать jQuery в режиме noConflict, но используйте удобный $
:
jQuery.noConflict()
(function($){
var obj = $('<div/>', { id: 'someId' });
})(jQuery)
Ответ 2
Вы вызываете функцию, которая немедленно вызывается, с someWord
в качестве параметра.
Ответ 3
В основном это позволяет объявить анонимную функцию, а затем, заключая ее в круглые скобки и записывая (someWord)
, вы используете эту функцию. Вы могли бы подумать об этом как о объявлении объекта, а затем немедленно создать экземпляр объекта.
Ответ 4
Он использовал для создания анонимной функции (функция без имени, которая может быть "вложена" внутри другой функции) и передать аргумент этой функции.
SomeWord передается как аргумент, и функция может читать его с использованием ключевого слова "arguments".
Простой пример использования:
function Foo(myval) {
(function(){
// Do something here
alert(arguments[0]);
})(myval); //pass myval as argument to anonymous function
}
...
Foo(10);
Ответ 5
Это способ определить анонимную функцию, а затем сразу ее выполнить, не оставляя следов, как бы. Область функций действительно локальна. Концы ()
в конце выполняют функцию - заключенные в квадрат скобки должны устранить то, что выполняется.
Ответ 6
Возможно, этот пост поможет вам немного.