Страницы

Поиск по вопросам

понедельник, 23 декабря 2019 г.

Вопрос по скобкам self-invoking JavaScript [дубликат]

#javascript


        
             
                
                    
                        
                            This question already has answers here:
                            
                        
                    
                
                        
                            Синтаксис замыканий в JS
                                
                                    (3 ответа)
                                
                        
                                Закрыт 3 года назад.
            
                    
Есть такой кусок кода:

(function aaa(){alert("555")})()


и такой:

(function aaa(){alert("555")}())


Оба они правильно выводят результат, т.е. синтаксических ошибок нет. 

Вот только чем они отличаются, помимо написания скобок?
    


Ответы

Ответ 1



функция внутри является не Function Declaration, а частью выражения, то есть Named Function Expression. Его имя видно только внутри, снаружи Его не видно.По этому выражние исполнится и потом викенит ошибку.Оно должно быть либо присвоено либо завершенной точкой с запятой ; . (function aaa(){alert("555")}()); Именованные функциональные выражения А первый это само декларируемая функция,она как бы работает как Expression и сама себя присваивает и тут же вызывает. Тут тоже можно почитать

Комментариев нет:

Отправить комментарий