2017-02-14 6 views
0

Что делает этот код? Может ли кто-нибудь описать, почему функция находится в круглой скобке, а также почему она имеет скобки в конце и что она делает?Функция JS внутри скобки с скобкой в ​​конце с аргументом, что это значит?

(function (innerKey) { 
       //doSomething 
}(key)); 
+1

Общим термином является «сразу вызванное функциональное выражение» или IIFE. – Pointy

ответ

2

Это самозапускающаяся анонимная функция. Он будет вызываться сразу после загрузки скрипта, и в качестве аргумента функции он примет элемент внутри скобок key.

Вы можете прочитать здесь: What is the (function() { })() construct in JavaScript?

+0

В чем разница между (innnerkey) и (клавишей)? Разве они не оба аргумента? – commonSenseCode

+0

Ключ - это значение, которое внешняя сторона использует как параметр для внутренней клавиши внутри функции. Таким образом, внутренний ключ является аргументом, а ключ - нет. Ключ - это значение, используемое для аргумента internalkey. Обратите внимание, что и внутренний ключ, как сама функция, невидим для внешнего пространства. – Shilly

+1

@CodingMcCodington: То же, что разница между этим: 'function foo (internalkey) {...}' и это: 'foo (key)'. Удалите 'foo' в обоих местах, и у вас есть примерно то же самое, что и выше. –

2

Вы создаете функцию и вызывая его в то же время с ключевым значением заполнения параметра innerkey.