Вопрос по javascript – Два способа немедленного вызова анонимной функции (function (d) {} ()); и (function (x) {}) (); [Дубликат]

1

Possible Duplicate:
Are “(function ( ) { } ) ( )” and “(function ( ) { } ( ) )” functionally equal in JavaScript?

На мой вопрос, имеющий эти специальные символы, я не смог найти хорошего ответа. (Кто-нибудь знает, как с ними искать?)

Я видел две схемы немедленного вызова анонимных функцийhttp://jsfiddle.net/ukqS8/1/

(function(d) {
    document.write(d*2);
})(3);

а также

(function(x) {
    document.write(x*2);
}(3));

Разница в том, где (3) находится: внутри или снаружи закрывающей скобки.

Я нашел хорошее объяснение второго случая здесь:

функция JavaScript против (function () {...} ());

который я понял какfunction(x) {...} создает функциональный объект, (3) становится его аргументом, и enclosing () сообщает интерпретатору, что внутри это утверждение.

В первом случае, кажется, сделать(function(d) {...}) утверждение, которое так или иначе является также функцией, а затем применить (3) к этому утверждению / функции.

Таким образом, они оба выглядят одинаково. Есть ли здесь разница? Сфера (я сомневаюсь в этом)? Любой вариант предпочтительнее?

Ваш Ответ

1   ответ
2

Это оба функциональные выражения; размещение скобок здесь не имеет значения.

Тем не мение,может быть небольшая разница.

Error: User Rate Limit Exceeded Heitor Chang
Error: User Rate Limit Exceeded Heitor Chang
Error: User Rate Limit Exceeded

Похожие вопросы