ECMAScript의 함수 function 유형

2006 단어
말하자면 ECMAScript에서 위에서 가장 재미있다. 나는 그것이 함수보다 낫다고 생각한다. 재미있는 근원은 함수가 실제로 대상이라는 데 있다.각 함수는 Function 유형의 인스턴스이며 다른 참조 유형과 마찬가지로 속성과 메서드가 있습니다.함수는 대상이기 때문에 함수 이름도 실제로는 함수 대상을 가리키는 바늘로 어떤 함수와 귀속되지 않는다.함수는 일반적으로 다음 예와 같이 함수 선언 구문을 사용하여 정의됩니다.
 
  
 function sum(num1,num2)
 {
    return num1+num2;
 }

이것은 아래에서 함수 표현식으로 함수를 정의하는 방식과 거의 차이가 없다.
 
  
 var sum=function(num1,num2)
 {
     return num1+num2;
 };

상기 코드는 변수sum를 정하여 함수로 초기화합니다.function 키워드 뒤에 함수 이름이 없다는 것을 알게 될 것입니다.함수 표현식으로 함수를 정의할 때 함수 이름을 사용할 필요가 없기 때문이다. (변수 sum를 통해 함수를 인용할 수 있기 때문이다.)또 함수 끝에 다른 변수를 설명할 때처럼 분호가 있다는 것도 주의해야 한다.
마지막으로 함수를 정의하는 방법은 Function 구조 함수를 사용하는 것입니다.Function 구조 함수는 임의의 수량의 매개 변수를 받아들일 수 있지만, 마지막 매개 변수는 항상 함수체로 보이고, 앞의 매개 변수는 새로운 함수의 매개 변수를 열거한다.예:
 
  
var sum=new Function("num1","num2","return num1+num2");//

기술적인 측면에서 볼 때 이것은 함수 표현식이다.그러나 이러한 방법으로 함수를 정의하는 것을 추천하지 않습니다. 왜냐하면 이런 문법은 두 번의 코드를 해석하기 때문입니다. (첫 번째는 일반적인 ECMAScript 코드를 해석하고, 두 번째는 전달된 구조 함수의 문자열을 해석하기 때문에) 성능에 영향을 줍니다.그러나 이런 문법은'함수는 대상이고 함수명은 지침'이라는 개념을 이해하는 데 매우 직관적이다.
함수명은 단지 함수를 가리키는 바늘일 뿐이기 때문에 함수명은 대상 바늘을 포함하는 다른 변수와 다를 것이 없다.다시 말하면 함수에는 다음과 같은 여러 개의 이름이 있을 수 있다.
 
  
function sum(num1,num2)
{
    return num1+num2;
}
alert(sum(10,10));//20
var anotherSum=sum;
alert(anotherSum(10,10));//20
sum=null;
alert(anotherSum(10,10));//20

상기 코드는 두 값의 합을 구하는 데 사용되는sum()이라는 함수를 먼저 정의했다.그런 다음 에서 anotherSum 변수가 선언되고 이 변수가 sum()로 동일하게 설정됩니다(sum의 값을 anotherSum에 부여).괄호가 없는 함수 이름을 사용하는 것은 접근 함수 바늘이지 호출 함수가 아닙니다.이때 anotherSum과 sum은 같은 함수를 가리키기 때문에 anotherSum()도 호출되어 결과를 되돌릴 수 있습니다.sum을 null로 설정하여 함수와 관계를 끊도록 해도 anotherSum()이 제대로 호출되었음을 증명할 수 있습니다.
위에서 말한 것이 본고의 전부입니다. 여러분이javascript를 배우는 데 도움이 되었으면 합니다.

좋은 웹페이지 즐겨찾기