При определении функции, какова разница между этими 2 способами:JavaScript функции различия, определяющие
-
функции t1() {}
-
вар t2 = функция () {}
Является ли t1 самой функцией и t2 ссылкой на функцию?
При определении функции, какова разница между этими 2 способами:JavaScript функции различия, определяющие
функции t1() {}
вар t2 = функция () {}
Является ли t1 самой функцией и t2 ссылкой на функцию?
Первый использует функцию утверждение, что эквивалентно делать это:
var t1 = function t1() {};
Это очень похоже на ваш t2 Например, одна разница в том, что t2 не назван ; Это анонимная функция, хранящаяся в переменной t2.
Помните, что при использовании имени функции о (как t1), декларация вар поднимается к верхней части рамки.
Именно поэтому this example работает, хотя похоже, что он вызывает функцию до того, как функция определена. Функция поднимается вверх над переменной sayHello, и именно поэтому ее можно использовать.
Обратной является this example, показывая, что пример t2 не работает, так как функция «Foo» не получает водрузили на вершину.
Спасибо. Я понял это. –
Javascript не компилируется в javascript. Я предполагаю, что вы имели в виду, что эти утверждения эквивалентны. Их нет - 't1' поднимается вверх,' t2' - нет. Это важное различие. –
Нет, утверждения не эквивалентны. Вы меня неправильно истолковали. Я просто собирался добавить, что они подняты на вершину, также, но я получил код вместе в качестве небольшого примера. Вы также правы в том, что t2 не поднимается. Я намеревался привести примеры туда, но забыл, когда я впервые ответил. Поэтому спасибо за downvoting, он отлично подойдет после того, как я отредактирую его правильно. –