1 함수 선언
구문 :
함수 FUNCTIONNAME (매개 변수) { 코드를 실행해야 }
함수 선언이 즉시 수행되지 않지만, 함수 선언을 향상 후 우리는 초기화시에 필요로 할 때, 우리는 호출합니다.
2, 기능 식 (익명 함수)
구문 :
VAR 함수 X = (a, b) {A * B를 반환};
VAR의 Z = X (4,3);
위 기능은 사실이다 익명 함수 (이름없는 기능).
변수에 저장 기능, 함수 이름은 일반적으로 변수 이름에 의해 호출, 필요하지 않습니다.
3 함수 () 생성자
(함수 ()) 자바 스크립트 내장 함수 빌더에 의해 정의.
구문 :
VAR 하여 myFunction = 새로운 기능 ( "A", "B", "A * B를 반환" ); VAR X = myFunction이 (4,3);
사실, 당신은 생성자를 사용할 필요가 없습니다. 위의 예는과 같이 쓸 수있다 :
VAR 하여 myFunction = 함수 (a, b) { 반환 A * B를}; VAR X = myFunction이 (4,3);
(4) 호출 기능 보낸
함수 표현은 "자기 호출."일 수있다
자기 표현 통화가 자동으로 호출합니다.
후자의 표현이 따른 경우 () 자동으로 호출된다.
당신은 함수 선언 자체를 호출 할 수 없습니다.
상태 브래킷을 추가하여 함수 표현식 있음 :
( 함수 () { var에 X 축 = "여보세요!"; // 나 자신을 부를 것이다 }) (); // 익명 함수에서 전화
5 화살표 함수
ES6 화살표 기능을 추가했다.
화살표 함수 표현식 구문은 일반적인 함수 표현식보다 더 간결하다.
구문 :
(파라미터 1, 파라미터 2, ..., N 파라미터) => {} 함수 선언 (파라미터 1, 파라미터 2, ..., N 파라미터) => 식 (1 인) // 대응 :( 파라미터 1, 파라미터 2, ... , 파라미터 N) => {식 리턴}
때 하나 개의 매개 변수, 괄호는 선택 사항입니다 :
(1 파라미터) => {} 함수 선언
단일 파라미터 => {} 함수 선언
인수는 괄호 쌍으로 기록되지해야합니다 :
() => {} 함수 선언
예 :
// ES5 VAR X = 함수 (X, Y) { 창 X * Y; } // ES6 CONST (X) = (X, Y) => X * Y;
일부 기능은 자신의 화살 없습니다 은이 . 상부 부적합 오브젝트 방법 .
우리는 화살표 기능을 사용하면이이 외부 층의 화살표 기능과 값이 동일하므로, 도움 우리는이 바인딩 층의 기능 기본값을 화살표.
화살표 기능은 사용하기 전에 정의 할 필요가 촉진 될 수 없다.
사용 CONST 보다 VAR 안전 기능의 발현이 항상 일정하기 때문에.
함수가 문의 일부인 경우, 당신은 반환 키워드와 중괄호 {} 생략 할 수 있습니다, 이것은 좋은 습관은 다음과 같습니다
6, 기능 점수의 사용에주의를 기울
(1) 기능을 향상시키기
- 이전 튜토리얼에서 우리는 "게양 (리프팅)."배웠다
- 리프트 (ㅏ) 자바 스크립트는 행동 전면 업그레이드의 현재 범위의 기본이다.
- 리프트 (ㅏ) 응용 프로그램 기능 변수 성명에서 선언했다.
- 따라서, 함수가 선언되기 전에 호출 할 수 있습니다 :
myFunction이 (5 ); 기능 하여 myFunction (Y) { 복귀 Y * Y; }
참고 : 함수를 정의 표현식을 사용하는 경우는 업그레이드 할 수 없습니다.
(2) 기능적 개체
- 자바 스크립트에 대해서 typeof 연산자 판정 기능 "기능"의 타입을 반환한다.
- 그러나 자바 스크립트 기능을보다 정확하게 대상으로 설명했다.
- 자바 스크립트 기능이 속성 과 방법을 .
- 에서 arguments.length 속성은 함수 호출에 의해 수신 된 매개 변수의 수를 반환합니다 :
myFunction 함수 (a, b) {// 2 리턴에서 arguments.length; }
toString () 메서드는 다음과 같습니다 함수로 문자열을 반환합니다 :
함수 myFunction이 (a, b)는 { 복귀 A * B 단계; } VAR TXT = myFunction.toString (); // myFunction 함수 (a, b)는 {A * B를 리턴; }