Werfen Sie einen Blick auf den Ausschnitt unten. Gibt es irgendeine Funktion, die ich anstelle von ...
schreiben könnte, um die Route zu generieren, die in einer anderen Funktion wiederverwendet werden könnte? Etwas wie var route = this.show.fullyQualifiedName
vielleicht?JavaScript: Abrufen des vollqualifizierten Funktionsnamens von ihm?
var services = {
'github.com': {
api: {
v2: {
json: {
repos: {
show: function(username, fn) {
var route = ...;
// route now == 'github.com/api/v2/json/repos/show'
route += '/' + username;
return $.getJSON('http://' + route).done(fn);
}
}
}
}
}
}
}
Ich glaube nicht, dass eine Top-Down-Suche möglich ist. Wie wird die Suche wissen, wenn die Übereinstimmung gefunden wird, wenn ich sie nicht mit dem vollständigen Pfad von 'show' versehen habe? Und wenn ich es mit dem vollständigen Pfad von 'show' versehen habe, wird der Verwendungsort mit einer einzigen Funktion besiegt, um' route' Werte aus einer beliebigen Methode wie 'show' zu erhalten, die ich definiere. – barfoo
müssten Sie den Baum rekursiv füllen (nur einmal) vor Aufruf der Funktion. – Alnitak