나는 자바 스크립트의 핵심 방법 중 하나를 다시 작성하고 다시 한 현재 실행중인 함수의 이름을 가져올 수 :자바 스크립트 메타 프로그래밍 : 동적으로
Element.prototype._removeChild = Element.prototype.removeChild;
Element.prototype.removeChild = function(){
callback();
this._removeChild.apply(this,arguments);
}
나는 동적으로 (이 경우 "로 removeChild"에서) 메소드의 이름을 얻으려면 함수 내부에서 동적으로 재 작성됩니다. arguments.callee.name
을 사용하지만 아무것도 반환하지 않는 것처럼 보입니다. 단지 익명의 기능이라고 생각합니다. 익명 함수가 할당되는 함수의 이름은 어떻게 얻을 수 있습니까?
자바 스크립트가 방법이 없습니다 :
당신은 그러나 기능 당신이
arguments.callee.name
으로 액세스 할 수있는 적절한 이름을 부여 할 수 있습니다. 특성에 지정된 기능 만. 이 경우, 'Element.prototype.removeChild'는 할당 된 하나의 속성이며, 동시에 다른 곳에 할당 될 수도 있습니다. 함수의 이름이 아니며 이름이 없습니다. 이 함수는 할당 된 속성 수나 할당 된 속성을 모릅니다. – Esailija