>  기사  >  웹 프론트엔드  >  자바스크립트에서 함수를 호출하는 방법

자바스크립트에서 함수를 호출하는 방법

醉折花枝作酒筹
醉折花枝作酒筹원래의
2021-04-16 17:53:5715124검색

메서드: 1. "함수 이름(매개변수, 매개변수)" 문으로 호출합니다. 2. "객체 이름.메서드 이름()" 구문을 사용하여 개체의 메서드로 호출합니다. , 구문 "함수 이름 .call|apply (매개변수, 매개변수)" 4. 새 명령을 사용하면 구문은 "새 함수 이름 (매개변수, 매개변수)"입니다.

자바스크립트에서 함수를 호출하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

JavaScript는 일반 함수 호출, 객체로서의 메서드 호출, 호출 및 적용을 사용한 동적 호출, new를 사용한 간접 호출 등 4가지 유형의 함수 호출을 제공합니다.

1. 함수 호출의 일반적인 형태

기본 상태에서는 함수가 실행되지 않습니다. 기능을 활성화하고 실행하려면 괄호()를 사용하세요. 0개 이상의 매개변수를 쉼표로 구분하여 괄호 안에 포함할 수 있습니다.

다음 예에서는 괄호를 사용하여 함수를 호출한 다음 반환 값을 두 번째 작업의 함수에 직접 전달하여 두 개의 임시 변수를 저장할 수 있습니다.

function f(x,y) {  //定义函数
    return x * y;  //返回值
}
console.log(f(f(5,6), f(7,8)));  //返回1680。重复调用函数

2. 메소드를 객체로 호출

JavaScript에서는 함수를 객체의 메소드로 정의할 수 있습니다.

다음 예에서는 두 개의 속성(firstName 및 lastName)과 하나의 메서드(fullName)가 있는 객체(myObject)를 생성합니다. 메소드는 특정 함수를 지정된 객체에 메소드로 바인딩하고 호출할 수 있습니다. 구체적인 사용법은 다음과 같습니다.

function.call(thisobj, args...)function.apply(thisobj, [args])

function은 호출할 함수를 나타냅니다. 매개변수 thisobj는 바인딩 개체를 나타냅니다. 즉, 이 ;Parameter args가 참조하는 객체는 호출된 함수에 전달될 매개변수를 나타냅니다. call 메소드는 여러 매개변수 목록을 받을 수 있는 반면 Apply는 배열 또는 의사 클래스 배열만 받을 수 있으며 배열 요소는 매개변수 목록으로 호출된 함수에 전달됩니다.

다음 예에서는 call을 사용하여 함수 f를 동적으로 호출하고 매개변수 값 3과 4를 전달하고 작업 값을 반환합니다.

var myObject = {
    firstName:"John",
    lastName: "Doe",    
    fullName: function () {
        return this.firstName + " " + this.lastName;
        }
    }
        myObject.fullName();         // 返回 "John Doe"

all 및 Apply 메소드의 주요 기능은 다음과 같습니다.

함수를 호출합니다.

    함수 본문에서 this 참조 객체를 수정하세요.
  • 객체에 대한 바인딩 메서드.
  • 한도를 넘어 다양한 유형의 메소드를 호출하세요.
  • 4. 새 명령 간접 호출

새 명령을 사용하여 개체를 인스턴스화합니다. 이것이 주요 기능이지만 개체를 ​​만드는 동안 해당 기능이 활성화되고 실행됩니다. 따라서 새 명령을 사용하여 함수를 간접적으로 호출할 수 있습니다.

다음 예에서는 새 명령을 사용하여 전달된 매개변수 값을 콘솔에 표시하는 방법을 간단히 보여줍니다.

function f(x,y) {  //定义求和函数
    return x + y;
}
console.log(f.call (null, 3, 4));  //返回7

【추천 학습:

javascript 고급 튜토리얼

위 내용은 자바스크립트에서 함수를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.