Javascript 함수는 후크될 수 있습니다. 후크는 함수의 실행 프로세스를 동적으로 수정하거나 결과를 반환하는 방법입니다. JavaScript는 동적 언어로서 일반적으로 후크 작업을 수행하고 특정 매개변수나 변수를 인쇄하는 데 사용됩니다. . 출력, 교체 및 기타 작업.
이 튜토리얼의 운영 환경: Windows 10 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
예.
Hook은 함수의 실행 과정을 동적으로 수정하거나 결과를 반환하는 방법으로 실제 응용 분야에서 매우 널리 사용됩니다. 동적 언어인 Javascript는 Hook 작업도 수행할 수 있습니다. Javascript 언어가 발전하면서 Hook 메소드가 점점 더 많아지고 있습니다.
hook는 말 그대로 후크를 의미합니다. 리버스 엔지니어링 분야에서는 일반적으로 특정 매개변수 및 변수에 대한 수신, 출력, 교체 및 기타 작업에 사용됩니다.
예제는 다음과 같습니다.
샘플 코드
function add(a,b){ return a + b }
hook code
이 두 매개변수의 값은 Hook을 통해 얻을 수 있으며 이는 코드를 추가하는 것과 같습니다. (a,b)를 반환하기 전에 console.log를 사용하여 이 두 값을 분석용으로 출력할 수 있습니다. 그런 다음 다음 방법을 사용하여 함수를 다시 작성할 수 있으며 이 방법은 JavaScript
let _add = add add = function () { console.log('arguments', arguments) let result = _add.apply(this, arguments) console.log('result', result) return result // 如果不需要result 则可直接return _add() }
전체 코드
function add(a, b) { return a + b } let _add = add add = function () { console.log('arguments', arguments) let result = _add.apply(this, arguments) console.log('result', result) return result } add(1, 2)
add(1,2)를 다시 호출하면 인수 매개 변수와 결과 3이 매우 출력됩니다. 간단한 HOOK를 실현했습니다.
그러나 이 예는 너무 단순할 수 있습니다. 제가 표현하고 싶은 것은 Hook을 통해 우리가 Hook하고 싶은 함수와 변수를 찾을 수 있고, 일련의 연산(함수 복사, 메타 프로그래밍)을 통해서만 가능하다는 것입니다. 함수가 이 변수를 트리거하거나 사용(값, 수정)하면 원하는 결과(암호화 전, 암호화 후 등의 전후 결과)를 얻을 수 있습니다. 이것이 우리의 목적입니다.
책에 제시된 예는 특정 원래 함수에 일부 함수를 추가하고 싶지만(예: 여기에 추가) 원래 함수를 다른 개발자가 작성한 것일 수 있으므로 원래 함수 자체를 직접 수정하면 Unknown BUG로 변경하므로 위의 방법을 사용하여 원래 기능을 파괴하지 않고 원래 기능을 다시 작성할 수 있습니다.
【관련 추천: javascript 비디오 튜토리얼, web front-end】
위 내용은 JavaScript 함수를 연결할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!