찾다

 >  Q&A  >  본문

동일한 이름을 가진 변수 및 함수 관련 문제

자세한 내용은 제가 찍은 사진을 참고해주세요QQ截图20170620174114.jpg

phpcn_u3114phpcn_u31142718일 전958

모든 응답(2)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-06-21 09:38:13

    <script>
    var bar=function(){
       var foo=function(){}
       foo=10;
    }
    var foo=1;
    bar();
    alert(foo);
    </script>

    js 선언 부분이 맨 위에 배치되어 있고, 함수 내부의 foo는 지역 변수이므로 전역 foo에 영향을 주지 않습니다.

    회신하다
    0
  • phpcn_u3114

    답변감사합니다 해결했습니다

    phpcn_u3114 · 2017-06-21 22:38:15
    phpcn_u3114

    답변감사합니다 해결했습니다

    phpcn_u3114 · 2017-06-21 22:38:16
  • ringa_lee

    ringa_lee2017-06-21 09:37:34

    1 함수 선언이 맨 위에 위치합니다

    2 변수 선언도 맨 위에 위치합니다
    3 함수 선언이 변수 선언보다 맨 위에 위치합니다 :)
    4 js 엔진에서 구문 분석할 때 변수와 대입문이 함께 작성됩니다. , 선언과 할당 두 부분으로 나누어집니다. , 선언은 맨 위에 있고 할당은 원래 위치에 유지됩니다.
    5선언된 변수는 반복적으로 선언되지 않습니다

    위 사항을 참조하면 이해하실 수 있습니다. 이유!

    코드의 실제 효과는 다음과 같습니다.

    function bar(){
     function foo(){}
      var foo;//实际上无效
      foo=10;
    }
    var foo;
    bar();
    foo=1;
    console.log(foo);


    회신하다
    0
  • phpcn_u3114

    혼란을 해결하는 데 도움을 주셔서 감사합니다.

    phpcn_u3114 · 2017-06-21 22:39:29
  • 취소회신하다