Знайте выражение функции JavaScript против объявления функции, но что это? Выражение именованной функции? [Дубликат]
Возможный дубликат:
JavaScript: var functionName = function () {} против функции functionName () {}
В чем разница между выражением функции и объявлением в Javascript?
Я знаю о различиях между объявлениями функций и выражениями, но наткнулся на этот код, включающий имя функции, и хочу понять, что происходит, когда мы ее запускаем:
var abc = function def() {
console.log("Wait! What??");
}
Я знаю, что это не способ JavaScript, но просто хочу знать несколько вещей:
Что происходит сabc
? Почему это работает?abc
можно назвать, но неdef
, Зачем?Это объявление функции или выражение?def
являетсяundefined
- Зачем? Если это должно быть, есть ли утечки памяти?Почемуabc.prototype
такое функция?def
Спасибо