ja przepisywania jeden z podstawowych metod Javascript w:JavaScript metaprogramming: uzyskać nazwę funkcji aktualnie wykonującego, który został dynamicznie przepisany
Element.prototype._removeChild = Element.prototype.removeChild;
Element.prototype.removeChild = function(){
callback();
this._removeChild.apply(this,arguments);
}
chcę dynamicznie uzyskać nazwę metody (w tym przypadku „removeChild”) od wewnątrz funkcji dynamicznie przepisywanej. Używam arguments.callee.name
, ale wydaje się, że nic nie zwraca, uważając, że jest to tylko anonimowa funkcja. Jak uzyskać nazwę funkcji, do której przypisywana jest funkcja anonimowa?
Javascript nie posiada metod. Tylko funkcje przypisane do właściwości. W tym przypadku 'Element.prototype.removeChild' jest jedną właściwością, do której jest przypisany, może być również przypisany do innego miejsca w tym samym czasie. To nie jest nazwa funkcji, nie ma ona nazwy. Funkcja nie wie, do ilu właściwości jest przypisana lub do jakich właściwości jest przypisana. – Esailija