それがルートとして「オブジェクト」を見つける最後まで行く原型チェーンです。
はECMAScript 5.1仕様では、このようにそれを述べている:関数のプロトタイプオブジェクトのプロパティ15.3.4で
:
The value of the [[Prototype]] internal property of the Function prototype object is the standard built-in Object prototype object
とオブジェクトのプロトタイプオブジェクト
The value of the [[Prototype]] internal property of the Object prototype object is null
の15.2.4のプロパティで
あなたのコンソールでこれを試してください。
console.log(exampleInstance);
Example
attribute
:
"example"
__proto__
:
Object
constructor
:
()
__proto__
:
Object
__defineGetter__
:
__defineGetter__()
__defineSetter__
:
__defineSetter__()
__lookupGetter__
:
__lookupGetter__()
__lookupSetter__
:
__lookupSetter__()
constructor
:
Object()
hasOwnProperty
:
hasOwnProperty()
isPrototypeOf
:
isPrototypeOf()
propertyIsEnumerable
:
propertyIsEnumerable()
toLocaleString
:
toLocaleString()
toString
:
toString()
valueOf
:
valueOf()
get __proto__
:
__proto__()
set __proto__
:
__proto__()
出典
2017-01-16 10:17:48
MGA
ありがとうございます。だから、私の前提は正しかったし、 'Example .__ proto__'が空の関数を返すという事実は、コンソールのクルークです。 – Undistraction
さて、実際に 'Function.prototype'は空であると考えています。なぜなら、' Object.getOwnPropertyNames(Function.prototype) 'を使って見ると、いくつかの属性/メソッド。プロトタイプはこのように使用されます(つまり、コンストラクタで定義されているデータとメソッドの所有者です - この場合はFunction) –
確かに、オブジェクトではなく関数でなければなりません。あなたはそれを呼び出さない。 – Undistraction