Programing

콘솔에서 자바 스크립트 함수 호출

crosscheck 2020. 12. 5. 09:17
반응형

콘솔에서 자바 스크립트 함수 호출


Chrome의 자바 스크립트 콘솔에서 내가보고있는 웹 페이지에 포함 된 .js 파일에 속하는 함수를 어떻게 호출합니까?


클로저 안에 있으면 안 될 거라고 확신합니다.

그렇지 않으면 그냥 functionName();하고 리턴을 누르십시오.


콘솔이 ReferenceError를 반환하는 예는 JQuery 문서 준비 함수에 함수를 넣는 것입니다.

//this will fail
$(document).ready(function () {
          myFunction(alert('doing something!'));
          //other stuff
}

성공하려면 문서 준비 기능 외부로 기능을 이동하십시오.

//this will work
myFunction(alert('doing something!'));
$(document).ready(function () {

          //other stuff
}

그런 다음 콘솔 창에서 '()'와 함께 함수 이름을 입력하여 함수를 실행하십시오.

myFunction()

또한 함수의 기능을 상기시키기 위해 함수 본문을 인쇄 할 수 있습니다. 함수 이름에서 '()'를 생략하면됩니다.

function myFunction(alert('doing something!'))

물론 문서가로드 된 후 기능을 등록해야하는 경우이 작업을 수행 할 수 없습니다. 그러나 당신은 그것을 해결할 수 있습니다.


이것은 오래된 스레드이지만 방금 검색하여 찾았습니다. 저는 웹 개발자 도구를 처음 사용합니다 : 주로 Firefox 개발자 도구 (Firefox v.51), Chrome DevTools (Chrome v.56)].

개발자 도구 콘솔에서 기능을 실행할 수 없었지만 다음을 발견했습니다.

https://developer.mozilla.org/en-US/docs/Tools/Scratchpad

스크래치 패드에 코드를 추가하고 기능을 강조 표시하고 실행할 수 있었고, 첨부 된 스크린 샷에 따라 콘솔에 출력되었습니다.

또한 Chrome "Scratch JS"확장 프로그램을 추가했습니다. Firefox 개발자 도구의 Scratchpad와 동일한 기능을 제공하는 것 같습니다 (아래 스크린 샷).

https://chrome.google.com/webstore/detail/scratch-js/alploljligeomonipppgaahpkenfnfkn

이미지 1 (Firefox) : http://imgur.com/a/ofkOp

여기에 이미지 설명 입력

이미지 2 (Chrome) : http://imgur.com/a/dLnRX

여기에 이미지 설명 입력


window.function_name () 또는 직접 function_name () 사용하여 호출 할 수 있습니다.


방금이 문제를 발견했습니다. 간접적 방법을 사용하여이 문제를 해결할 수있었습니다. 각 모듈에서 함수를 정의하고 호출 할 수 있습니다 indirect.

function indirect(js) { return eval(js); }

각 모듈의 해당 함수를 사용하면 컨텍스트에서 모든 코드를 실행할 수 있습니다.

예를 들어 모듈에이 가져 오기가있는 경우 :

import { imported_fn } from "./import.js";

그런 다음 다음 imported_fn을 수행하여 콘솔에서 호출 한 결과를 얻을 수 있습니다 .

indirect("imported_fn()");

사용 eval은 처음 생각했지만 작동하지 않습니다. 내 가설은 eval콘솔에서 호출 하는 것이 콘솔 컨텍스트에 남아 있고 모듈 컨텍스트에서 실행해야한다는 것입니다.

참고 URL : https://stackoverflow.com/questions/9054870/calling-a-javascript-function-from-console

반응형