javascript中FunctとObject

2411 ワード

1、まずコードをください.
console.log(Function); // function Function() { [native code] }
console.log(Object); // function Object() { [native code] }

console.log(Function.prototype); // function () {}
console.log(Object.prototype); // Object {}

console.log(Function.__proto__); //function () {}
console.log(Function.__proto__.__proto__); // Object {}
console.log(Function.__proto__.__proto__.__proto__); // null

console.log(Object.__proto__); //function () {}
console.log(Object.__proto__.__proto__); // Object {}
console.log(Object.__proto__.__proto__.__proto__); // null

console.log(Function.constructor === Function); // true
console.log(Object.constructor === Function) // true
 結論:
a、コンストラクタFunctionのコンストラクタはそれ自体であるので、Function.com nstructor==Function;コンストラクタObjectのコンストラクタはそれ自体であるので、Object.com nstructor==Funct;ps:すべてのコンストラクタはFunctionを指し、Functionはトップ関数です.
b、コンストラクタFunctionの_uプロト.は匿名の関数function(){}です.
c、匿名空関数function(){}の__uプロト.Objectのprototypeを指します.
d、Objectの_uプロト.Functionのprototype、つまり匿名の関数function(){}を指します.
Objectは自分を継承し、Funionは自分を継承し、ObjectとFunctは互いに相手を継承し、つまりObjectとFunctionはいずれも関数であり対象である.この点は特別です.すべての関数は対象ですが、すべてのオブジェクトが関数であるわけではありません.
 
 知るところから来ました
Object.prototypeはすべてのオブジェクトの元Object.prototypeをObject関数オブジェクトにマウントするだけでFunction.prototypeからObjectオブジェクトを作成します.プロト.(元の作成対象)==Object.prototypeFunct関数とカスタム関数は、Function.prototypeFunction.prototypeFunct.とFunct._._プロト.(元の構造の対象)が同じですので、先にあるObject.prototype、またあるFuntion.prototype、あるFunctionとObject関数の対象です.
転載先:https://www.cnblogs.com/ilovexiaoming/p/6874851.html