함수를 정의하는 데 키워드 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!