javascript - js 코드를 본문에서는 사용할 수 있지만 머리에서는 사용할 수 없습니까?
伊谢尔伦
伊谢尔伦 2017-05-19 10:24:41
0
5
706

별도의 js 파일에 작성하고, 로딩 문제를 방지하기 위해 window.onload=function(){}을 사용했습니다.
1. 본문에서 직접 코드를 삽입하면 작동합니다.
2. 사용할 수 없습니다. 파일에서 window.onload=function(){}을 삭제하면 사용할 수 있습니다.
3. 코드에 직접 삽입하든지 파일에 삽입하든 사용할 수 없습니다.
4. 콘솔은 오류를 보고하지 않으며 디버깅할 수 있습니다. 브라우저에서 이 js 파일을 찾으세요.
페이지 로딩에 문제가 있는 것 같습니다. 구체적인 문제가 무엇인지 알 수 없습니다. . .
코드 게시

으아아아

js 코드는 이렇습니다

으아아아
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답 (5)
曾经蜡笔没有小新

먼저 제안하고 싶은 점은 파일 이름 지정에 한자를 포함하지 않는 것이 가장 좋으며 일반적으로 숫자로 시작하지 않는 것이 좋습니다.

문제 정보:
콘솔에 오류가 보고되지 않으며 디버거에서 js 파일을 찾을 수 있습니다.:window.onload=function(){}을 사용하는 한 code>, js code 헤드에 넣어도, 본문에 넣어도, 파일 형태로 넣어도 안에 있는 코드는 반드시 실행됩니다.控制台没报错且能在调试器中找到这个js文件:只要你使用了window.onload=function(){},js代码是肯定执行的,不论你是放在head里面还是body里面,也不论你是不是以文件的形式引入的,里面的代码都会执行。

从body里插入js文件,不能用;文件中删掉window.onload=function(){},能用:html中的onclick="showPic(this)",这个showPic函数是定义在全局作用域下面的,不能用window.onload包裹,当你包裹的时候,showPic的作用域就处于onload这个函数里面了,在全局作用域下找不到showPic,所以点击时,showPic函数里面的代码没有执行,其他的js代码是执行的,你看看a标签里面已经添加上了onclick等代码。

写在head里,无论直接插入代码还是文件,都不能用

본문에서 js 파일을 삽입하지만 사용할 수 없습니다. 파일에서 window.onload=function(){}을 삭제하면 사용할 수 있습니다.: onclick="showPic(this )"에서 이 showPic 함수는 전역 범위에 정의되어 있으며 window.onload로 래핑할 수 없습니다. 래핑하면 showPic의 범위가 onload 함수 내부에 있습니다. 전역 범위에서는 ShowPic을 찾을 수 없습니다. . 이므로 클릭하면 showPic함수 안의 코드는 실행되지 않지만다른 js 코드는 a 태그에 추가된 것을 볼 수 있습니다.

는 헤드에 작성되어 코드에 직접 삽입하든 파일에 직접 삽입하든 사용할 수 없습니다.: dom 쿼리의 경우 현재 dom 트리가 구축되지 않았으므로 a 태그를 사용할 수 없습니다. 질문했다. 헤드에 작성한 DOM 쿼리 js 코드는 window.onload로 래핑해야 하는데, showPic 함수를 추출해서 글로벌 스코프에 넣어야 정상적으로 실행될 수 있습니다.

@张东东 정답은 맞지만, element.onclick 바인딩 이벤트 방식(댓글 달아주신 코드)을 사용하셨는데요, 이때 showPic 함수를 스코프 체인에서 찾을 수 있어서 실행이 가능합니다. @stephenhuang 온로드에 작성된 showPic 코드를 실행할 수 있나요?
    迷茫

    스크립트는 본문 아래에 위치해야 합니다

    으아아아

    가장 먼저 알아야 할 사항은 다음과 같습니다.

    html 파일은 하향식으로 실행되지만 도입된 CSS와 자바스크립트의 순서가 다릅니다. CSS를 도입하고 로드할 때 프로그램은 여전히 하향식으로 실행되며,