2016-07-19 4 views
0
console.log(Object instanceof Function); //true 
console.log(Function instanceof Object); //true 

Inneren JavaScript geerbt wenn Object und Function beide als Funktionen definiert werden dann, was ihre Beziehung zueinander sind und wie sind beide Instanzen voneinander?Kann jemand die Objekt- und Funktionshierarchie in JavaScript erklären? Wie in JavaScript ist alles von Object

Ich verstehe nicht, wenn das Objekt an der obersten Position in JavaScript ist und wie Funktion erbt auch von Object ..

+1

wie ein Duplikat aussieht: http://stackoverflow.com/questions/29813074/javascript-object- Erben-von-Funktion-Prototyp – towerofnix

+2

"* sie beide sind instanceof von einander *" - nicht interessant. 'Funktion' ist eine Instanz von sich selbst, nimm das jetzt! (Und normalerweise ist jede Funktion auch ein Objekt) – Bergi

+0

@Bergi Danke für die Antwort –

Antwort

1

Ich glaube, Sie zwischen dem WertObject und Objekten im Allgemeinen verwechselt werden können bekommen. Vielleicht denken Sie anhand dessen, was Sie oben sehen, dass dies bedeutet, dass "alle Objekte Funktionen sind", aber das ist nicht wahr.

Alle Funktionen sind Objekte. Die WerteObject und Function sind beide (Konstruktor) Funktionen, so dass sie beide Objekte sind. Mit anderen Worten, sie sind beide Instanzen von Object und Function.

Vielleicht werden Sie diese finden etwas mehr Beleuchtung:

console.log(Object instanceof Function);   // true 
 
console.log(Function instanceof Function);  // true 
 

 
console.log(Object instanceof Object);   // true 
 
console.log(Function instanceof Object);   // true 
 

 
console.log(new Object() instanceof Function); // false 
 
console.log({} instanceof Function);    // false 
 
console.log(new Function() instanceof Function); // true 
 
console.log(function(){ } instanceof Function); // true 
 

 
console.log(new Object() instanceof Object);  // true 
 
console.log({} instanceof Object);    // true 
 
console.log(new Function() instanceof Object); // true 
 
console.log(function(){ } instanceof Object); // true

Verwandte Themen