Функция
Функция является объектом, а объект, представляющий функцию, является объектом функции. Все объекты функций построены функцией объекта функции. Другими словами, функция является конструктором верхнего уровня. Он строит все объекты в системе, включая пользовательские объекты, встроенные объекты в системе и даже в себе.
Объект
Объект является объектом верхнего уровня, и все объекты будут наследовать прототип объекта. Вы также должны знать, что объект также является функциональным объектом, поэтому объект построен функцией.
Диаграмма функции и объекта:
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
var foo = function () {}
var f1 = new foo ();
console.log (f1 .__ Proto__ === foo.prototype);
console.log (foo.prototype.constructor === foo);
var o1 = new Object ();
console.log (O1 .__ Proto__ === Object.prototype);
console.log (object.prototype.constructor === Object);
console.log (foo.prototype .__ Proto__ === Object.prototype);
// функция и объект
console.log (function .__ Proto__ === function.prototype);
console.log (объект .__ Proto__ === function.prototype);
console.log (object.prototype .__ Proto__);
console.log (объект .__ Proto__ === function.prototype);
</script>
При чтении кода вы можете обратиться к диаграмме отношений на рисунке ниже. Надеюсь, вам понравится.