2013-08-29 3 views
0

프레임 워크의 JavaScript 일부 동작을 수정하려고합니다. 소스보기 아래 IE10의 개발자 도구에는 동적 스크립트이라는 폴더가 있습니다. (? 어쩌면 누군가가 동적 스크립트가 무엇인지 설명 할 수있다) 그리고 기능 코드 (1089)에서 다음 코드
이것은 코드가있다 :이 함수가 호출되는 이유는 무엇입니까?

function anonymous() { 
var f=arguments.callee; return f._func.apply(f._owner, arguments); 
} 

그리고 호출 스택의 첫 번째 항목

입니다
Function code, Function code (1089), line 2 

이 줄은 여러 번 실행됩니다. 그러나 나는 왜 그런지 모른다.

누가이 라인을 호출하나요?

+0

어떤 프레임 워크를 수정하고 있습니까? 그 기능은 어떤 파일입니까? –

+0

그것은 어떤 파일에도없는 것 같습니다. 프레임 워크는 'Oracle ADF'입니다. –

답변

0

anonymous 함수 호출은 anonymous이라는 함수를 의미하지 않습니다.

var anUnnamedFunc = function() { 
    return true; 
}; 

당신은 시계 또는 콘솔 출력이 기능을 참조하는 경우, 그것은 익명의 함수로 덤프 할 것이다 : 실제로처럼 익명의 기능을 분류하는 데 사용되는 이름입니다. 익명이 아닌 함수를 정의하려면 다음을 사용 :

var aNamedFunc = function namedFunction() { 
    return true; 
}; 

기능이 질문에 호출되고는 bind 기능처럼 많이 보인다. 이것은 인수와 컨텍스트를 다른 함수에 바인딩하는 함수를 만드는 데 사용되는 래퍼 함수입니다.

var bind = function() { 
    var f = arguments.callee; 
    return f._func.apply(f._owner, arguments); 
}; 

실제로는 IE 디버거의 단지 이상이면 너무 궁금해, 기능의이 종류를 위해 사용되는 것을 볼 수 없습니다 : 그러나,이 버전은 인수를 바인딩 사유 재산 메커니즘의 일종을 사용합니다 . 다른 브라우저를 사용하여 해당 기능이 프로필 보고서에 표시되는지 확인하십시오.

관련 문제