Сообщение от foo
|
Черт, я вовсем запутался.
|
Почитай цикл статей Димы Сошникова, у него там очень понятно всё описано.
Касательной конструкторов, то
http://dmitrysoshnikov.com/ecmascrip...e/#konstruktor
***
Если описывать кратко, то функции в JS - это тоже объекты, но логично, что у них есть свои отличительные особенности, например служебный метод [[call]] и т.д. поэтому прототип функции легко представить как:
Function.prototype = {
__proto__: Object.prototype,
call: ..., // не путать с [[call]]
apply: ...,
bind: ...,
[[call]]: ...,
[[constructor]]: ...
и т.д.
}
Function.prototype.__proto__ === Object.prototype // true