Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.03.2020, 22:27
Аспирант
Отправить личное сообщение для Biotoxsin Посмотреть профиль Найти все сообщения от Biotoxsin
 
Регистрация: 11.04.2019
Сообщений: 74

Работа одной функции (Помогите разобраться)
Здравствуйте!

Подскажите как работает вторая часть кода?

function Name() {
	//какой то код
}

Name.Test = { //что именно тут делает "Name" ведь это имя функции? Какая тут логика? Или это уже объект с таким именем?
		exemple: true
}
Ответить с цитированием
  #2 (permalink)  
Старый 01.03.2020, 22:42
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Функция в javascript - наследник объекта.
alert(function(){} instanceof Object)
А потому с ней можно делать все те же штуки что и с обычным объектом.)
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 01.03.2020, 23:17
Аспирант
Отправить личное сообщение для Biotoxsin Посмотреть профиль Найти все сообщения от Biotoxsin
 
Регистрация: 11.04.2019
Сообщений: 74

Aetae, А что происходит после использования такого формата?
В функции просто создаётся объект "Test" с параметром "exemple: true" ?
Ответить с цитированием
  #4 (permalink)  
Старый 01.03.2020, 23:20
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Функция и есть объект.

Просто в отличие от базового объекта она, бонусом, может быть вызвана.
Если её не вызывать, то разницы между:
function Name() {
    //какой то код
}

Name.Test = { 
    exemple: true
}
и
var Name = {};

Name.Test = { 
    exemple: true
}
нет.

За исключением hoisting'а, но это к делу не относится.
__________________
29375, 35

Последний раз редактировалось Aetae, 01.03.2020 в 23:25.
Ответить с цитированием
  #5 (permalink)  
Старый 01.03.2020, 23:52
Аспирант
Отправить личное сообщение для Biotoxsin Посмотреть профиль Найти все сообщения от Biotoxsin
 
Регистрация: 11.04.2019
Сообщений: 74

Aetae, Банальная экономия пространства имён? Или зачем?
Ответить с цитированием
  #6 (permalink)  
Старый 02.03.2020, 01:00
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Зачем хочешь, javascript свободный язык.)

Туда можно запихнуть, например, какие-то связанные с функцией данные.
Если функция - конструктор, то так можно задать подобия статических свойвств и методов.
Короче как фантазии хватит.

Это не какой-то особый специально придуманный для чего-то конкретного функционал, это просто особенность языка: в javascript всё - наследует от объекта.
__________________
29375, 35

Последний раз редактировалось Aetae, 02.03.2020 в 01:08.
Ответить с цитированием
  #7 (permalink)  
Старый 02.03.2020, 01:39
Аспирант
Отправить личное сообщение для Biotoxsin Посмотреть профиль Найти все сообщения от Biotoxsin
 
Регистрация: 11.04.2019
Сообщений: 74

Aetae, Понял, спасибо за помощь =)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться со скриптом! Zhekag Ваши сайты и скрипты 0 09.05.2017 21:35
помогите разобраться с this uroboros7 jQuery 4 02.01.2015 00:56
Помогите разобраться с калькулятором Maksim858 Ваши сайты и скрипты 1 27.12.2014 13:23
Получение ответа сервера через iframe и xhr. Помогите разобраться. Arconas AJAX и COMET 0 26.02.2013 10:38
Помогите разобраться с XML antonilyin Общие вопросы Javascript 2 14.11.2012 20:12