JavaScript 함수 정의
JavaScript 함수는function
키워드로 정의됩니다.함수 선언이나 함수 표현식을 사용할 수 있습니다.
기능이 선언
이전에 이 튜토리얼에서,당신이 배운 것을 기능으로 선언한 구문은 다음과 같습니다.
//코드를 실행될
}
선언된 함수는 즉시 실행되지 않습니다., 그들은”나중에 사용하기 위해 저장”되며 나중에 호출 될 때 실행됩니다(호출시).
예제
return a*b;
}
Try It Yourself”
세미콜론은 실행 가능한 JavaScript 문을 분리하는 데 사용됩니다.
함수 선언은 실행 가능한 문이 아니므로 세미콜론으로 끝내는 것이 일반적이지 않습니다.
함수 표현식
자바 스크립트 함수는 표현식을 사용하여 정의 할 수도 있습니다.,
기능이 표현될 수 있는 변수에 저장됩니다.
예
그것을 자신을 시도”
후기능 표현되었는 변수에 저장된 변수로 사용될 수 있는 기능:
예
var z=x(4,3);
그것을 자신을 시도”
기능을 실제로 익명의 기능(이 없는 함수 이름).변수에 저장된 함수에는 함수 이름이 필요하지 않습니다. 그들은 항상 변수 이름을 사용하여 호출(호출)됩니다.,
위의 함수는 실행 가능한 명령문의 일부이기 때문에 세미콜론으로 끝납니다.
Function()생성자
으로 당신이 본 예제에서,자바 스크립트 함수를 정의는function
키워드를 사용합니다.
함수는Function()
라는 내장 JavaScript 함수 생성자로 정의 할 수도 있습니다.,
예
var x=myFunction(4,3);
그것을 자신을 시도”
당신이 실제로 사용하지 않는 기능을 생성자입니다. 위의 예와 같이 쓰:
예
var x=myFunction(4,3);
그것을 자신을 시도”
대부분의 시간이,당신은 피할 수 있를 사용하는new
키워드에서 JavaScript.,
기능 호이 스팅
이 튜토리얼의 앞부분에서”호이 스팅”(JavaScript 호이 스팅)에 대해 배웠습니다.
호이 스팅은 선언을 현재 범위의 맨 위로 이동하는 JavaScript 의 기본 동작입니다.
게양은 변수 선언과 함수 선언에 적용됩니다.
이 때문에,자바 스크립트 함수를 호출할 수 있기 전에 그들은 선언:
기능 myFunction(y){
return y*y;
}
기능을 사용하여 정의는 식지 않는 빠.,
자체 호출 함수
함수 표현식은”자체 호출”으로 만들 수 있습니다.
자체 호출 식은 호출되지 않고 자동으로 호출(시작)됩니다.
함수 표현식은()다음에 표현식이 있으면 자동으로 실행됩니다.
함수 선언을 자체 호출 할 수 없습니다.
을 추가로 괄호로 표시하는 기능에는 그것이 기능 표현
예
var x=”안녕하세요!!,”;//나 자신을 호출합니다.
})();
그것을 자신을 시도”
기능을 실제로 익명 자체를 호출하는 함수(function 이름 없이).,
함수의 값으로 사용할 수 있습니다
바 스크립트 기능의 값으로 사용할 수 있습니다:
예
반환*b;
}
var x=myFunction(4,3);
그것을 자신을 시도”
바 스크립트 기능의 식에 사용할 수 있습니다.
예
반환*b;
}
var x=myFunction(4, 3) * 2;
그것을 자신을 시도”
함수 개체
typeof
운영자에서 JavaScript 를 반환””기능에 대한 기능입니다.,그러나 자바 스크립트 함수는 객체로 가장 잘 설명 될 수 있습니다.
JavaScript 함수에는 속성과 메소드가 모두 있습니다.
arguments.length
속성의 수를 반환합한 인수 받은 경우 함수가 호출됩니다.
예
return arguments.length;
}
Try It Yourself”
ThetoString()
메서드는 문자열로 함수를 반환합니다.
예제
return a*b;
}
var txt=myFunction.,toString();
직접 시도해보십시오.”
객체의 속성으로 정의 된 함수는 객체에 메소드라고합니다.
새로운 객체를 생성하도록 설계된 함수를 객체 생성자라고합니다.
Arrow Functions
Arrow functions 는 함수 표현식을 작성하기위한 짧은 구문을 허용합니다.
function
키워드,return
키워드 및 대괄호가 필요하지 않습니다.,
예
var x=function(x,y){
return x*y;
}
//ES6
const x=(x,y)=>x*y;
그것을 자신을 시도”
화살표수하지 않은 자신의this
.그것들은 객체 메소드를 정의하는 데 적합하지 않습니다.
화살표 함수는 게양되지 않습니다. 그것들은 사용되기 전에 정의되어야합니다.
Usingconst
이 더 안전하게 사용하는var
기 때문에,함수현은 항상 일정한 값입니다.,
함수가 단일 문인 경우return
키워드 및 대괄호 만 생략 할 수 있습니다. 이 때문에,그것은 될 수 있는 좋은 습관이 항상 그들에게
예
그것을 자신을 시도”
화살표수에서 지원되지 않 IE11 합니다.나는 이것이 내가 할 수있는 유일한 방법이라고 생각한다.