Ну, я все время предполагал, что свойство прототипа существует у всех объектов. Но после одного из собеседований я пришел домой и открыл хромированную консоль.
window.prototype
**undefined**
ВТФ?
Object.prototype
**Object {}**
OK
var a = {};
a.prototype
**undefined**
var a = function(){}
a.prototype
**Object {}**
Я прочитал https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype несколько раз, но все еще не ясно. Кто-нибудь может объяснить?
спасибо
P.S. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype
Все объекты в JavaScript происходят от Object; все объекты наследуют методы и свойства от Object.prototype, хотя они могут быть переопределены (кроме объекта с нулевым прототипом, т.е. Object.create(null)
окно является объектом, поэтому оно должно иметь свойство прототипа