>  기사  >  웹 프론트엔드  >  자바스크립트의 호출 메소드를 사용하는 방법

자바스크립트의 호출 메소드를 사용하는 방법

青灯夜游
青灯夜游원래의
2021-04-12 14:59:499701검색

JavaScript에서는 호출 메서드를 사용하여 개체 대신 메서드를 호출할 수 있습니다. 함수의 개체 컨텍스트를 초기화에서 새 개체로 변경할 수 있습니다. 즉, 괄호 안의 원래 개체가 개체로 변경됩니다. 통화() 전에.

자바스크립트의 호출 메소드를 사용하는 방법

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

js

1.call method

의 call() 메소드 사용법: call(thisobj,[argq,arg2])call(thisobj,[argq,arg2])

定义:调用一个对象的一个方法,以另一个对象替换当前对象

说明:

call方法可以用来代替一个对象调用一个方法,call方法可以将一个函数的对象上下文从初始化改为新的对象,也就是括号里面的原本的对象改为call()前面的对象、即用thisobj代替call前面的东西,最终用thisobj这个对象去执行call前面的方法。

如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 

一如

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>js中call方法的使用</title>
</head>
 
<body>
<p id="id1">新年</p>
</body>
 
</html>
 
<script>
    function add(a,b){
        alert(a+b);
    }
    function sub(a,b){
        alert(a-b);
    }
    document.getElementById("id1").onclick = function(){
        add.call(sub,3,1);
    }
 
</script>

add代替sub   ,最总结过输出

这个例子中的意思就是用 add 来替换 sub,add.call(sub,3,1) == add(3,1) ,所以运行结果为:alert(4); // 注意:js 中的函数其实是对象,函数名是对 Function 对象的引用。

【推荐学习:javascript高级教程

2.apply方法

语法:apply(thisobj,[argArray])

정의: 객체 호출 현재 객체를 다른 객체로 바꾸는 메소드

설명: 호출 메소드는 객체 대신 메소드를 호출하는 데 사용할 수 있습니다. 호출 메소드는 함수의 객체 컨텍스트를 초기화에서 새 객체로 변경할 수 있습니다. 괄호 안의 원래 객체는 call() 전의 객체로 변경됩니다. 즉, 호출 전의 것을 대체하기 위해 thisobj를 사용하고, 마지막으로 호출 전의 메소드를 실행하기 위해 thisobj 객체를 사용합니다.

thisObj 매개변수가 제공되지 않으면 전역 개체가 thisObj로 사용됩니다.


sub 대신

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>js中call方法的使用</title>
</head>
 
<body>
<p id="id1">新年</p>
</body>
 
</html>
 
<script>
    function Animal(){
        this.name = "Animal";
        this.showName=function(){
            alert(this.name);
        }
    }
    function Cat(){
        this.name = "Cat";
    }
 
    document.getElementById("id1").onclick = function(){
        var animal = new Animal();
        var cat = new Cat();
        // 通过call或apply方法,将原本属于Animal对象的showName方法交给对象call来使用了
        animal.showName.apply(cat,[]);
        animal.showName.call(cat,",");
 
    }
 
 
</script>

add와 마찬가지로 가장 요약된 출력

이 예의 의미는 add를 사용하여 sub를 대체한다는 것입니다. add.call(sub,3,1) == add(3, 1 ) 따라서 실행 결과는 다음과 같습니다. Alert(4); // 참고: js의 함수는 실제로 객체이며 함수 이름은 Function 객체에 대한 참조입니다.

【추천 학습: javascript 고급 튜토리얼

]

2.apply method

구문: apply(thisobj,[argArray])정의: 개체의 메서드를 적용하고 현재 개체를 다른 개체로 바꿉니다

🎜설명: 🎜🎜argArray가 유효한 배열이 아니거나 다음과 같은 경우 인수 객체가 아닌 경우 TypeError가 발생합니다. 🎜 argArray나 thisObj가 모두 제공되지 않으면 전역 개체가 thisObj로 사용되며 매개 변수를 전달할 수 없습니다. 🎜rrreee🎜적용의 매개변수는 호출 메서드의 매개변수와 다릅니다. 적용은 배열입니다🎜🎜🎜🎜🎜3. 호출은 js 상속을 구현합니다🎜🎜🎜🎜🎜🎜🎜🎜더 많은 프로그래밍 관련 지식을 확인하세요. : 🎜 프로그래밍 영상 🎜! ! 🎜

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

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