2016-07-15 15 views
0

Hallo ich bin Anfänger, der Javascript lernt. Was ist der Unterschied zwischen den folgenden 2 Konstruktoren?Was ist anders mit Funktionsname in Constructor?

function Animal(name) { 
     this.name = name; 
     this.walk = function walk(destination) { //here function has name 'walk' 
       console.log(this.name,'is walking to',destination); 
     }; 
} 

und

function Animal(name) { 
     this.name = name; 
     this.walk = function (destination) { // but no function name 
       console.log(this.name,'is walking to',destination); 
     }; 
} 

Vielen Dank im Voraus!

+1

Wenn Sie Funktionen benennen, kann das Debuggen hilfreich sein. Ansonsten verhalten sie sich ziemlich ähnlich. –

+0

Wenn Sie "rekursiv" rekursiv aufrufen würden, könnten Sie die Funktion auch als "gehen" in sich selbst bezeichnen (im Gegensatz zu einer separaten Referenz). – nils

+0

Die Tatsache, dass der Funktionsausdruck innerhalb einer Konstruktorfunktion ist, ist irrelevant. – Quentin

Antwort

2

Benannte Funktion vs anonyme Funktion - nicht viel ein Unterschied. Wenn ein Fehler ausgelöst wird, erhalten Sie eine genauere Stapelverfolgung mit benannten Funktionen.