>  기사  >  웹 프론트엔드  >  function foo() {}와 var foo = function() {} 간의 foo 사용법 차이를 설명하세요.

function foo() {}와 var foo = function() {} 간의 foo 사용법 차이를 설명하세요.

王林
王林앞으로
2023-09-14 20:13:091123검색

解释一下 function foo() {} 和 var foo = function() {} 在 foo 用法上的区别

JavaScript에서는 함수를 정의하는 다양한 방법이 있습니다. function foo() {} 및 var foo = function() { }는 함수를 정의하는 두 가지 다른 방법입니다. 두 방법 모두 장점과 사용 사례가 다르지만 기능을 실행할 때 동일한 결과를 제공합니다.

그래서 이 튜토리얼에서는 함수를 정의하는 두 가지 방법의 차이점을 알려드리겠습니다.

함수 foo() { } 설명: 함수 선언

function foo() { }는 JavaScript에서 함수를 선언하는 일반적인 방법이며 모든 초보자와 개발자가 사용합니다. 또는 이름이 지정된 함수라고 부를 수도 있습니다.

프로그램 실행 제어가 함수 선언 범위에 도달하면 JavaScript는 함수 선언을 평가합니다. 함수 선언 평가는 단계별 프로세스의 일부가 아니지만 처음에 평가됩니다.

또한 함수 선언은 선언된 특정 범위 내 모든 코드의 맨 위에 끌어올려집니다. 따라서 범위 내 어디에서나, 심지어 선언 이전에도 함수를 호출할 수 있습니다.

문법

사용자는 다음 구문에 따라 함수를 선언할 수 있습니다.

으아아아

위 구문에서 'function'은 함수 선언을 나타내는 키워드이고, foo는 함수 이름입니다.

이 예제에서는 함수 선언을 통해 foo() 함수를 정의했습니다. 그 후에는 일반 함수처럼 호출합니다.

으아아아

아래 예에서는 매개변수를 사용하여 함수를 정의합니다. 호출된 위치를 두 번째 인수로 전달하여 함수를 호출하는 위치를 나타냅니다.

JavaScript는 실행 흐름이 범위에 들어가고 맨 위로 올라갈 때 처음에 함수를 평가하기 때문에 선언 전에 foo() 함수를 호출했습니다.

으아아아

var foo = function() { } 설명: 함수 표현식

var foo = function() { } 역시 함수를 정의하는 것과 같으며 이를 함수 표현식이라고 합니다. 여기서 function() { }는 foo 변수에 저장하는 함수 표현식입니다. foo는 다른 변수와 마찬가지로 일반 변수입니다. 심지어 foo 변수에 숫자와 문자열을 저장할 수도 있습니다.

JavaScript는 함수 선언처럼 처음에 함수 표현식을 평가하지 않습니다. 함수 표현식을 단계별로 평가합니다. 실행 흐름이 함수 표현식에 도달하면 JavaScript는 표현식을 평가하고 이를 foo 변수에 저장합니다.

또한 함수 표현식은 코드 상단으로 끌어올려지지 않으므로 함수 선언처럼 정의하기 전에는 함수 표현식을 호출할 수 없습니다.

문법

사용자는 함수 표현식을 사용하여 다음 구문에 따라 함수를 정의할 수 있습니다.

으아아아

위 구문에서 함수 정의에는 이름이 없으므로 익명 함수라고 부를 수 있습니다. foo 변수를 함수의 식별자로 사용할 수 있습니다.

이 예에서는 함수 표현식을 사용하여 함수를 정의하고 이를 foo 식별자 내에 저장했습니다. 그런 다음 foo 식별자를 사용하여 여기에 저장된 함수 표현식을 호출하고 foo 식별자에 인수를 전달합니다.

으아아아

함수 표현식의 사용 사례는 다양합니다. 사용자는 이를 콜백 함수로 사용하여 함수에 대한 짧은 구문을 작성할 수 있습니다. 또한 사용자는 이를 클로저 기능으로 사용할 수도 있습니다. 때로는 함수를 매개변수로 전달해야 하는 경우 함수 표현식을 사용할 수 있습니다.

이 예에서는 함수 표현식을 sort() 메서드에 인수로 전달합니다. 사용자는 이름이 포함된 선언을 작성하는 대신 익명 함수를 매개변수로 전달하고 있음을 알 수 있습니다.

으아아아

function foo() { }와 var foo = function() { }의 차이점

다음 표에서는 function foo() { }와 var foo = function() { }의 주요 차이점을 강조합니다.

함수 foo() { }

var foo = function() { }

함수 선언입니다.

함수 표현입니다.

스코프 상단에 매달려 있습니다.

사거리가 증폭되지 않습니다.

JavaScript는 실행 시작 시 범위를 평가합니다.

JavaScript는 코드를 단계별로 평가합니다.

함수 이름으로 식별할 수 있습니다.

저장된 식별자를 사용하여 식별할 수 있습니다.

은 일반적인 기능을 정의하는 데 사용됩니다.

함수를 매개변수로 전달해야 하거나 함수를 클로저로 사용해야 할 때 사용하세요.

결론

JavaScript에는 함수를 정의하는 두 가지 방법이 있습니다: 함수 선언함수 표현식. 함수 선언은 function 키워드와 함수 이름을 사용하여 정의되며 일반적으로 function foo() {}로 작성됩니다. 프로그램 실행이 함수가 선언된 범위에 도달하면 JavaScript는 함수 선언을 평가하고 이를 해당 범위의 코드 상단으로 끌어올립니다. 이는 선언되기 전에 호출될 수 있음을 의미합니다.

함수 표현식은 일반적으로 var foo = function() {}로 작성되는 변수를 사용하여 정의됩니다. 함수 표현식은 호이스팅되지 않으며 호출되기 전에 정의되어야 합니다. 함수 선언과 함수 표현식은 동일한 작업을 수행할 수 있지만 구문과 계산 동작이 다릅니다.

위 내용은 function foo() {}와 var foo = function() {} 간의 foo 사용법 차이를 설명하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제