Как выглядит объект который создает эта функция?
Стараюсь разобраться в объектах. Так сказать "залезть под капот" языка Javascript.
Говорят что функция является объектом. А вот если например создаем функцию она создает новый неявный объект? или правильнее сказать что сама функция уже есть явный обьект? Например: function show() { var x = 1; var y = 2; document.getElementById("r").innerHTML = x + y; } show(); 1) эта функция создает новый неявный объект? Если да, то как выглядит этот неявный объект? Или функция просто есть свойством обьекта? 2) если функция создает объект то тот обьект находится всередине глобального обьетка window? или нет? как это выглядит? |
Цитата:
Функция это функция не нужно ничего придумывать и усложнять. Прототипом для функции является Object срабатывает механизм наследования в JS свойства и методы объекта будут доступны. ;alert(typeof(function(){})); ;alert(typeof(function(){}).prototype); Функция это уже сложный тип данных в JS Для сложных типов не создаются временные объекты это и отличает их от простых. Ну еще операторы присваивания и сравнения работают по разному для для простых и сложных типов данных. var x = 1; var y = function (){}; alert ( x.prototype ); alert ( y.prototype ); |
но учебник говорит что функция это обьект:
https://ibb.co/MPgJY8R и еще одна документация: https://ibb.co/Qn2SYM0 |
Цитата:
Т.е. нужно более конкретнее подойти к самому понятию "объект". |
nathan111777, например в новом учебнике такого нет... :D
https://learn.javascript.ru/function-basics Даже слово "объект" не встречается совсем. |
тогда держите спецификацию:
https://www.ecma-international.org/e....1/#sec-4.3.24 |
Цитата:
Вот тебе дали вполне исчерпывающий ответ... Цитата:
|
Цитата:
|
Цитата:
Впрочем создать объект она тоже может, при использовании оператора new. |
Часовой пояс GMT +3, время: 04:02. |