>웹 프론트엔드 >JS 튜토리얼 >자바스크립트 함수 입문자 학습 예제 코드에 대한 자세한 설명

자바스크립트 함수 입문자 학습 예제 코드에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-07-25 13:32:281352검색

JavaScript 세계에서 함수는 전통적인 함수(선언 및 호출)를 사용하는 모든 방법을 가질 뿐만 아니라 값을 할당하고 매개변수를 전달하고 간단한 값처럼 반환할 수도 있습니다. 일류 시민. 뿐만 아니라 JavaScript의 함수는 클래스의 생성자 역할도 하며 Function 클래스의 인스턴스이기도 합니다. 이러한 다중 ID는 JavaScript 기능을 매우 중요하게 만듭니다.

입력 수준 함수

다른 언어와 마찬가지로 JavaScript 함수는 먼저 선언한 다음 사용하는 원칙을 따릅니다. 함수 이름은 문자, 숫자, 밑줄 또는 $만 포함할 수 있으며 숫자로 시작할 수 없습니다. 함수를 선언하는 두 가지 일반적인 방법이 있습니다:

 // 直接声明函数myfunc 
 function myfunc(/* arguments */) { 
 } 
   
 // 把匿名函数赋值给本地变量myfunc 
 var myfunc = function(/* arguments */) { 
 }

위의 두 가지 함수 선언 방법에는 미묘한 차이가 있습니다. 첫 번째 방법은 호출 전, 호출 후 또는 호출 후 선언 여부에 관계없이 선언할 때 이름이 지정된 함수입니다. 실행되지 않을 위치(예: return 문 이후 또는 결코 true가 되지 않는 분기)도 전체 범위에서 액세스할 수 있습니다. 두 번째 방법은 엄격한 의미에서 익명 함수를 변수에 할당하는 것입니다. 이것은 함수 선언(함수 선언)이 아니라 함수 표현식(함수 표현식)이라고 말했습니다. 이 함수는 할당 전에는 어떤 코드에서도 접근할 수 없습니다. 즉, 호출 전에 할당이 완료되어야 함을 의미합니다. 그렇지 않으면 다음과 같은 경우에 나타납니다. 호출이 이루어졌습니다. 오류: "TypeError: 정의되지 않음은 함수가 아닙니다." 예:

 myfunc1(); // 能够正常调用,因为myfunc1采用直接声明的方式 
   
 function myfunc1() { 
 } 
   
 myfunc2(); // 出错 TypeError: undefined is not a function 
   
 var myfunc2 = function() { 
 };

함수의 기본 호출 방법은 한 쌍의 괄호를 사용하는 전통적인 언어의 방법과 동일합니다: myfunc(). JavaScript 함수는 직접 또는 간접 재귀 호출도 지원합니다. 예를 들어 클래식 Fibonacci 함수는 다음과 같이 JavaScript로 구현될 수 있습니다.

 function fib(n) { 
   if (n == 1 || n == 2) { 
     return 1; 
   } else { 
     return fib(n - 2) + fib(n - 1); 
   } 
 }

JavaScript의 함수는 가변 길이 매개변수를 처리할 수 있으며 인수의 로컬 변수라는 함수가 있습니다. 이는 배열과 유사한 객체이며 호출 시 전달된 모든 매개변수를 포함합니다. 길이 속성은 매개변수 수를 나타냅니다. 예:

 function test() { 
   alert(arguments.length); 
 } 
   
 test(1); // 1 
 test(1, 'a'); // 2 
 test(true, [], {}); // 3 利用arguments可以实现类似C语言printf的功能,也可以用来实现方法的多态。

위 내용은 자바스크립트 함수 입문자 학습 예제 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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