>  기사  >  웹 프론트엔드  >  내 JavaScript 코드가 JSFiddle.net에서 작동하지 않는 이유는 무엇입니까?

내 JavaScript 코드가 JSFiddle.net에서 작동하지 않는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-31 22:38:28896검색

Why is My JavaScript Code Not Working on JSFiddle.net?

JSFiddle.net에서 JavaScript가 작동하지 않음

제공된 코드가 라이브 사이트에서는 작동하지만 JSFiddle.net에서는 실행되지 않아 오류가 발생합니다. "ReferenceError: fillList가 정의되지 않았습니다." 및 "ReferenceError: mySelectList가 정의되지 않았습니다."

설명:

이 오류는 HTML에서 참조된 함수 때문에 발생합니다. ("fillList()" 및 "findIt()")은 "window.onload" 함수 내에 정의됩니다. 이러한 맥락에서 이러한 함수는 onload 함수 내에서만 액세스할 수 있으며 전역 변수로 참조할 수 없습니다.

해결책:

이 문제를 해결하려면 세 가지 옵션이 있습니다. :

  1. 함수 정의 변경:

    • 함수 정의를 "function blah(){}"에서 "window.blah"로 수정합니다. = 함수(){};". 이렇게 하면 함수가 전역적이고 HTML에서 액세스 가능해집니다.
  2. 간단한 JavaScript:

    • HTML에서 JavaScript를 분리합니다. JavaScript를 통해서만 이벤트 핸들러를 DOM 요소에 연결합니다. 이렇게 하면 전역 기능에 대한 의존도가 제거됩니다.
  3. JSFiddle 설정 조정:

    • JSFiddle 설정을 "no Wrap"으로 변경합니다. (body or head)'는 JSFiddle이 window.onload 함수에 코드를 포함하는 것을 방지합니다.

권장 사항:

옵션 b(눈에 거슬리지 않는 JavaScript)는 HTML을 로직에서 분리하는 모범 사례를 따르므로 권장되는 접근 방식입니다. 이를 통해 유지관리성이 향상되고 코드 재사용성이 향상됩니다.

위 내용은 내 JavaScript 코드가 JSFiddle.net에서 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.