함수는 호출 시 실행되는 이벤트 기반 또는 재사용 가능한 코드 블록입니다.
JavaScript 함수 구문
함수는 중괄호로 묶인 코드 블록으로, 앞에는 function 키워드가 옵니다.
function functionname() { 这里是要执行的代码 }
이 함수가 호출되면 함수 내의 코드가 실행됩니다.
함수는 이벤트가 발생할 때(예: 사용자가 버튼을 클릭할 때) 직접 호출할 수 있으며 JavaScript를 통해 어디서나 호출할 수 있습니다.
팁: JavaScript는 대소문자를 구분합니다. function 키워드는 소문자여야 하며, 함수 이름과 동일한 대소문자를 사용하여 함수를 호출해야 합니다.
1. 기능 범위
범위는 변수가 존재하는 범위를 말합니다. JavaScript에는 두 가지 유형의 범위가 있습니다. 하나는 변수가 전체 프로그램에 걸쳐 존재하는 전역 범위이고, 다른 하나는 변수가 함수 본문 내부에만 존재하는 함수 범위입니다. 함수 본문 외부에 선언된 변수는 전역 변수이며 함수 본문 내부에서도 읽을 수 있습니다.
var v = 1; function f(){ console.log(v); } f();
위는 함수 본문 내부에서도 사용할 수 있는 전역 변수입니다.
function f(){ var v = 1; }
그리고 이것은 함수 본문 외부에서는 읽을 수 없는 지역 변수입니다.
2. 폐쇄
클로저는 함수 본문 내부에 정의된 함수입니다.
function f() { var c = function (){}; }
어필 코드에서 c는 함수 본문 f에 정의되어 있으며 c는 클로저입니다.
클로저의 특징은 함수 본문 내부의 변수를 함수 본문 외부에서 읽을 수 있다는 것입니다.
function f() { var v = 1; var c = function (){ return v; }; return c; } var o = f(); o(); // 1
위 코드는 원래 함수 f 외부에서는 내부 변수 v를 읽을 방법이 없었음을 보여줍니다. 그러나 클로저 c를 사용하면 이 변수를 읽을 수 있습니다.
클로저는 함수의 내부 변수를 읽을 수 있을 뿐만 아니라 내부 변수가 마지막 호출의 연산 결과를 기억하도록 할 수도 있습니다.
function f(b) { return function () { return b++; } } var b= f(5); b() // 5 b() // 6 b() // 7
함수 내부의 b 변수는 각 호출에 대한 이전 호출의 값을 기반으로 계산됩니다.
위는 편집자가 소개한 JavaScript의 기능(2)에 대한 전체 설명입니다.