동일한 이름을 가진 변수 및 함수 관련 문제
phpcn_u3114
phpcn_u3114 2017-06-20 17:42:16
0
2
949

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

phpcn_u3114
phpcn_u3114

모든 응답(2)
Ty80
<script>
var bar=function(){
   var foo=function(){}
   foo=10;
}
var foo=1;
bar();
alert(foo);
</script>

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

  • 회신하다 답변감사합니다 해결했습니다
    phpcn_u3114 작가 2017-06-21 22:38:15
  • 회신하다 답변감사합니다 해결했습니다
    phpcn_u3114 작가 2017-06-21 22:38:16
ringa_lee

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

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

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

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

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


  • 회신하다 혼란을 해결하는 데 도움을 주셔서 감사합니다.
    phpcn_u3114 작가 2017-06-21 22:39:29
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿