Function 212

1598 단어

Function 객체(클래스)


ECMAScript에서 가장 관심을 끄는 것은 함수가 사실상 완전한 기능의 대상일 수도 있다.
Function 클래스는 개발자가 정의한 함수를 나타낼 수 있습니다.
Function 클래스를 사용하여 함수를 직접 생성하는 구문은 다음과 같습니다.
var function_name = new function(arg1, arg2, ..., argN, function_body)

위의 형식에서 모든arg는 하나의 매개 변수이고 마지막 매개 변수는 함수 주체(실행할 코드)이다.이러한 매개변수는 문자열이어야 합니다.
아래의 이 함수를 기억하십니까?
function sayHi(sName, sMessage) {
  alert("Hello " + sName + sMessage);
}

이렇게 정의할 수도 있습니다.
var sayHi 
= 
new Function("sName", "sMessage", "alert(\"Hello \" + sName + sMessage);");

문자열의 관계로 인해 이런 형식은 쓰기가 어렵지만 함수는 하나의 인용 유형에 불과하다는 것을 이해하는데 도움이 된다. 함수의 행위는 Function 클래스로 명확하게 만들어진 함수 행위와 같다.

Function 객체의 length 속성


앞에서 말한 바와 같이 함수는 인용 유형에 속하기 때문에 그것들도 속성과 방법이 있다.
ECMAScript에서 정의한 속성 length는 함수에서 원하는 매개변수 개수를 선언합니다.예를 들면 다음과 같습니다.
function doAdd(iNum) {
  alert(iNum + 10);
}

function sayHi() {
  alert("Hi");
}

alert(doAdd.length); //  "1" alert(sayHi.length); //  "0"

함수 doAdd()가 매개 변수를 정의하기 때문에 length는 1입니다.sayHi ()에 정의된 매개변수가 없으므로 length는 0입니다.

객체를 Function하는 방법


Function 객체에는 모든 객체와 공유하는value Of() 방법과 toString() 방법도 있습니다.이 두 가지 방법이 되돌아오는 것은 모두 함수의 원본 코드로 디버깅할 때 특히 유용하다.예를 들면 다음과 같습니다.
function doAdd(iNum) {
  alert(iNum + 10);
}

document.write(doAdd.toString());

좋은 웹페이지 즐겨찾기