Что это значит? (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

Возможно, этот пост поможет вам немного.