>웹 프론트엔드 >JS 튜토리얼 >두 가지 형태의 함수 선언의 차이점

두 가지 형태의 함수 선언의 차이점

yulia
yulia원래의
2018-09-08 16:49:022017검색

함수를 정의하는 데 키워드 function이 사용된다는 것을 알고 있습니다. 함수 정의는 함수 정의 표현식이나 명령문 형식으로 작성할 수 있습니다. 예를 들어, 다음 두 가지 작성 방법은

var f = function(x){return x+1;}   //将表达式赋值给一个变量  函数表达式
function f(x){return x+1;}         //含有变量的语句        函数声明

함수 선언문과 함수 정의 표현식이 동일한 함수 이름을 포함하지만 여전히 차이점이 있습니다.
동일한 점: 두 가지 방법 모두 새로운 함수 객체를 생성합니다. 둘 다 "고급"입니다(함수 명령문에 정의된 함수는 명시적으로 스크립트나 함수의 맨 위로 이동하므로 전체 스크립트에 표시됩니다). 🎜#차이: 함수 선언문의 함수 이름은 변수 이름이고, 변수는 함수 객체를 가리킵니다. var를 통해 변수를 선언하는 것과 마찬가지로 함수 문에 정의된 함수는 스크립트나 함수의 맨 위에 표시되므로 전체 스크립트 내에서 볼 수 있습니다.
1 var를 사용하면 변수만 먼저 선언됩니다. 여전히 원래 위치에 있지만 함수선언문을 사용하면 함수명과 함수본문이 고급집니다
요약: 간단히 말하면 함수표현방식(즉, var 선언방식)만 선언하면 됩니다. var 문 이후에 함수 선언(즉, 함수 선언 방법) 함수를 호출할 수 있습니다.
이러한 상황은 함수 실행 단계에서 변수 f에 함수 표현식이 할당되고, 코드 실행 전, 즉 코드 구문 분석 단계에서 함수 선언이 변수 f에 할당되었기 때문입니다. #🎜 🎜#아래에서 볼 수 있는 코드:

console.log(f,"函数前")
var f = function (x) {
      return x + 1;//函数表达式
 }
console.log(f,"函数后")

그리고 이 코드를 실행한 결과:

console.log(f,"函数前")
function f(x) {
   return x + 1;//函数声明
}
console.log(f,"函数后")
#🎜🎜 #결과: #🎜🎜 #두 가지 형태의 함수 선언의 차이점

위 내용은 두 가지 형태의 함수 선언의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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