Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.08.2019, 12:06
Аспирант
Отправить личное сообщение для nathan111777 Посмотреть профиль Найти все сообщения от nathan111777
 
Регистрация: 12.05.2019
Сообщений: 34

Как выглядит объект который создает эта функция?
Стараюсь разобраться в объектах. Так сказать "залезть под капот" языка Javascript.
Говорят что функция является объектом. А вот если например создаем функцию она создает новый неявный объект? или правильнее сказать что сама функция уже есть явный обьект?

Например:
function show() {
var x = 1;   
var y = 2;
  document.getElementById("r").innerHTML = x + y;
}

show();



1) эта функция создает новый неявный объект? Если да, то как выглядит этот неявный объект? Или функция просто есть свойством обьекта?
2) если функция создает объект то тот обьект находится всередине глобального обьетка window? или нет? как это выглядит?

Последний раз редактировалось nathan111777, 16.08.2019 в 12:26.
Ответить с цитированием
  #2 (permalink)  
Старый 16.08.2019, 13:31
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 916

Цитата:
Говорят что функция является объектом
Не верно

Функция это функция не нужно ничего придумывать и усложнять.
Прототипом для функции является Object срабатывает механизм наследования в JS свойства и методы объекта будут доступны.

;alert(typeof(function(){}));

;alert(typeof(function(){}).prototype);


Функция это уже сложный тип данных в JS
Для сложных типов не создаются временные объекты это и отличает их от простых.
Ну еще операторы присваивания и сравнения работают по разному для для простых и сложных типов данных.
var x = 1;
var y = function (){};
alert ( x.prototype );
alert ( y.prototype );
Ответить с цитированием
  #3 (permalink)  
Старый 16.08.2019, 14:31
Аспирант
Отправить личное сообщение для nathan111777 Посмотреть профиль Найти все сообщения от nathan111777
 
Регистрация: 12.05.2019
Сообщений: 34

но учебник говорит что функция это обьект:
https://ibb.co/MPgJY8R
и еще одна документация:
https://ibb.co/Qn2SYM0

Последний раз редактировалось nathan111777, 16.08.2019 в 14:49.
Ответить с цитированием
  #4 (permalink)  
Старый 16.08.2019, 14:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,439

Сообщение от nathan111777
но учебник говори что функция это обьект
Если объектом считать некую сущность с набором свойств и методов - да объект.
Т.е. нужно более конкретнее подойти к самому понятию "объект".
Ответить с цитированием
  #5 (permalink)  
Старый 16.08.2019, 14:57
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,439

nathan111777, например в новом учебнике такого нет...
https://learn.javascript.ru/function-basics
Даже слово "объект" не встречается совсем.
Ответить с цитированием
  #6 (permalink)  
Старый 16.08.2019, 15:10
Аспирант
Отправить личное сообщение для nathan111777 Посмотреть профиль Найти все сообщения от nathan111777
 
Регистрация: 12.05.2019
Сообщений: 34

тогда держите спецификацию:
https://www.ecma-international.org/e....1/#sec-4.3.24
Ответить с цитированием
  #7 (permalink)  
Старый 16.08.2019, 15:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,439

Сообщение от nathan111777
тогда держите спецификацию
И что там должно насторожить?

Вот тебе дали вполне исчерпывающий ответ...
Сообщение от MallSerg
Функция это функция не нужно ничего придумывать и усложнять.
Ответить с цитированием
  #8 (permalink)  
Старый 16.08.2019, 15:27
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,123

Сообщение от nathan111777
Так сказать "залезть под капот" языка Javascript.
Залезть можно здесь, если так уж интересно про ядро, и вообще там по сайту много о теоретическом javascript.
Ответить с цитированием
  #9 (permalink)  
Старый 16.08.2019, 20:48
Аспирант
Отправить личное сообщение для nathan111777 Посмотреть профиль Найти все сообщения от nathan111777
 
Регистрация: 12.05.2019
Сообщений: 34

Сообщение от Rise Посмотреть сообщение
Залезть можно здесь, если так уж интересно про ядро, и вообще там по сайту много о теоретическом javascript.
Спасибо большое!
Ответить с цитированием
  #10 (permalink)  
Старый 16.08.2019, 22:16
Аватар для Aetae
Любитель
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 5,414

Сообщение от nathan111777 Посмотреть сообщение
но учебник говорит что функция это обьект:
Правильно. Функция не создаёт объект, она сама по себе объект.)
Впрочем создать объект она тоже может, при использовании оператора new.
__________________
29375, 35
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 13:25
Функция при наведении на Canvas объект max0n Общие вопросы Javascript 0 07.05.2013 16:56
Как писать код который легко поддерживать, расширять, читать. Policeman Общие вопросы Javascript 3 24.03.2012 03:40
как узнать,что на объект нажали кнопкой мышки или id объекта,на который нажали? Anastasiya Элементы интерфейса 14 01.02.2012 19:49
как найти нужный объект? `p r o x y jQuery 2 05.05.2009 00:12