Работа одной функции (Помогите разобраться)
Здравствуйте!
Подскажите как работает вторая часть кода?
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, время: 12:32. |