>  Q&A  >  본문

var 및 function 키워드

var a = 1;

으아악

이 JS 코드 줄은 실행 시 오류를 보고하는데, 그 이유는 무엇입니까? 하나님께 설명해 달라고 요청하세요

仅有的幸福仅有的幸福2711일 전463

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

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:31:08

    함수는 자바스크립트의 첫 번째 시민이므로 여기에 함수 홍보가 있습니다. 위 코드의 최종 구현은 다음

    과 동일한 효과를 갖습니다. 으아악

    이렇게 하면 원래 함수 이름을 덮어쓰게 됩니다.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-19 10:31:08

    식별자가 반복되었습니다.

    을(를) 변수로 선언했습니다.

    회신하다
    0
  • 高洛峰

    高洛峰2017-05-19 10:31:08

    먼저 js에 대해 이야기해 보겠습니다. var a = 1이 표시되면 두 단계로 구문 분석해야 합니다. 먼저 var a를 현재 범위의 최상위로 올린 다음 a = 1이 될 때까지 아래쪽으로 구문 분석합니다.

    가치 할당을 시작하세요.

    변수와 함수의 이름이 같은 문제입니다. 간단히 말해서 js 엔진의 파싱 순서는 다음과 같습니다.
    1. 변수 및 함수 선언은 현재 범위의 최상위로 승격됩니다. → var a ↑ 및 `function a( )
    {

    으아악

    }`
    2. 그런 다음 나머지 코드 `a=1;
    a()`를 구문 분석합니다.

    회신하다
    0
  • 怪我咯

    怪我咯2017-05-19 10:31:08

    함수 선언이 미리 되어있기 때문이죠

    으아악

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

    은 다음

    과 동일합니다. 으아악 도움이 되셨으면 좋겠습니다~

    회신하다
    0
  • 漂亮男人

    漂亮男人2017-05-19 10:31:08

    변수 승격의 문제라고 많은 분들이 언급해 주셨는데, 설명이 좀 옳지 않네요. var부분적으로 개선이 이루어졌고, 전체적으로 기능이 개선되었습니다. 참고하세요

    다음과 같아야 합니다:

    으아악

    회신하다
    0
  • 취소회신하다