Работа одной функции (Помогите разобраться)
Здравствуйте!
Подскажите как работает вторая часть кода? function Name() { //какой то код } Name.Test = { //что именно тут делает "Name" ведь это имя функции? Какая тут логика? Или это уже объект с таким именем? exemple: true } |
Функция в javascript - наследник объекта.
alert(function(){} instanceof Object)А потому с ней можно делать все те же штуки что и с обычным объектом.) |
Aetae, А что происходит после использования такого формата?
В функции просто создаётся объект "Test" с параметром "exemple: true" ? |
Функция и есть объект.
Просто в отличие от базового объекта она, бонусом, может быть вызвана. Если её не вызывать, то разницы между: function Name() { //какой то код } Name.Test = { exemple: true }и var Name = {}; Name.Test = { exemple: true }нет. За исключением hoisting'а, но это к делу не относится. |
Aetae, Банальная экономия пространства имён? Или зачем?
|
Зачем хочешь, javascript свободный язык.)
Туда можно запихнуть, например, какие-то связанные с функцией данные. Если функция - конструктор, то так можно задать подобия статических свойвств и методов. Короче как фантазии хватит. Это не какой-то особый специально придуманный для чего-то конкретного функционал, это просто особенность языка: в javascript всё - наследует от объекта. |
Aetae, Понял, спасибо за помощь =)
|
Часовой пояс GMT +3, время: 15:46. |