Цитата:
|
Говорят что функция является объектом
|
Не верно
Функция это функция не нужно ничего придумывать и усложнять.
Прототипом для функции является Object срабатывает механизм наследования в JS свойства и методы объекта будут доступны.
;alert(typeof(function(){}));
;alert(typeof(function(){}).prototype);
Функция это уже сложный тип данных в JS
Для сложных типов не создаются временные объекты это и отличает их от простых.
Ну еще операторы присваивания и сравнения работают по разному для для простых и сложных типов данных.
var x = 1;
var y = function (){};
alert ( x.prototype );
alert ( y.prototype );