関数
関数はオブジェクトであり、関数を表すオブジェクトは関数オブジェクトです。すべての関数オブジェクトは、関数関数オブジェクトによって構築されます。つまり、機能はトップレベルのコンストラクターです。ユーザー定義のオブジェクト、システムに組み込まれたオブジェクト、さらにはそれ自体を含む、システム内のすべてのオブジェクトを構築します。
物体
オブジェクトはトップレベルのオブジェクトであり、すべてのオブジェクトはオブジェクトのプロトタイプを継承します。また、オブジェクトが関数オブジェクトでもあることを知っている必要があるため、オブジェクトは関数によって構築されます。
関数とオブジェクトの関係図:
コードコピーは次のとおりです。
<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(object .__ proto__ === function.prototype);
console.log(object.prototype .__ proto__);
console.log(object .__ proto__ === function.prototype);
</script>
コードを読むときは、下の写真の関係図を参照できます。気に入っていただければ幸いです。