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])
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])
정의: 개체의 메서드를 적용하고 현재 개체를 다른 개체로 바꿉니다
위 내용은 자바스크립트의 호출 메소드를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!