JavaScript에는 여러 유형의 함수가 정의되어 있습니다. 1. 선언이나 표현식을 통해 함수를 정의하려면 function 키워드를 사용하고 구문은 "function functionName(parameters){executed code}"입니다. 2. 함수 생성자 Function()을 사용하여 구성합니다. 기능.
이 튜토리얼의 운영 환경: Windows 10 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
JavaScript는 함수를 정의하기 위해 키워드를 사용합니다.
함수는 선언으로 정의할 수도 있고 표현식일 수도 있습니다.
함수 선언
이전 튜토리얼에서 이미 함수 선언의 구문을 배웠습니다.
function functionName(parameters) { 실행된 코드}
함수가 선언된 직후에 실행되지 않고 필요할 때 호출됩니다.
함수 생성자
함수 생성자는 함수 개체를 만드는 데 사용됩니다. JavaScript에서는 실제로 모든 함수가 함수 개체입니다.
함수 생성자의 구문:
new Function ([arg1[, arg2[, ...argN]],] functionBody)
arg1, arg2, ... argN은 함수의 일반 매개변수 이름과 마찬가지로 변수 이름으로 사용됩니다. 단일 변수를 나타내는 문자열이거나 "x", "theValue" 또는 "a,b"와 같은 JavaScript 변수 식별 사양을 준수하는 여러 변수를 나타내는 쉼표로 구분된 문자열입니다.
functionBody 함수를 정의하는 JavaScript 문이 포함된 문자열입니다.
설명
1. 함수 객체는 함수 생성자를 함수로 파싱할 때 생성됩니다. 그러나 이는 함수 선언, 함수 표현식 등을 사용하는 것보다 효율성이 떨어집니다. 이러한 함수는 코드를 통해 직접 구문 분석되기 때문입니다.
2. 함수 생성자에 전달된 문자열 매개변수는 함수 생성자가 생성한 함수의 변수 매개변수 이름으로 사용되며, 나타나는 순서는 생성된 함수의 매개변수 순서로 사용됩니다.
3. 함수 생성자를 함수로 호출하면(new 키워드로 수정되었는지 여부에 관계없이) 동일한 효과가 있습니다.
예
// 예는 JavaScript 콘솔에서 직접 실행할 수 있습니다. // 두 개의 인수를 취하고 해당 인수의 합을 반환하는 함수를 만듭니다. var adder = new Function('a', 'b', 'return a + b'); // 함수 호출 덧셈기(2, 6); // > 8
매개변수 a와 b는 함수 본문에서 사용할 수 있는 일반적인 매개변수 이름입니다.
생성된 함수는 다음과 같습니다.
function (a,b){정의되지 않음 a+b를 반환합니다. }
json을 구문 분석하는 방법에 대해: var json = (new Function("return " + str))();
원리는 동일하며
생성된 함수는 다음과 같습니다.
function toJson(str){undefine str을 반환; } var str="{'a':1,'b':'abc'}"; toJson(str);
즉: function(){return {'a':1,'b':'abc'}}
함수 생성자와 함수 선언의 차이점:
함수 생성자로 생성된 함수는 컨텍스트에서 생성되지 않습니다. 클로저는 항상 전역 범위에서 생성됩니다. 생성된 함수는 eval과 달리 자체 로컬 변수 또는 전역 변수만 사용할 수 있습니다.
관련 권장사항: JavaScript 학습 튜토리얼
위는 여러 유형의 JavaScript 정의 함수에 대한 자세한 내용이며, 자세한 내용은 PHP 중국어 웹사이트의 다른 관련 기사를 참고하세요!