>웹 프론트엔드 >JS 튜토리얼 >Javascript_javascript 스킬의 호출 및 적용 사용법 소개

Javascript_javascript 스킬의 호출 및 적용 사용법 소개

WBOY
WBOY원래의
2016-05-16 17:56:09937검색

간단히 말해서, 함수 실행의 컨텍스트를 변경하는 것입니다. 이것이 가장 기본적인 사용법입니다. 두 메서드의 기본적인 차이점은 전달되는 매개 변수가 다르다는 것입니다.
call(obj,arg1,arg2,arg3); call의 첫 번째 매개변수는 null일 수 있는 개체입니다. 매개변수는 쉼표로 구분되며 모든 유형이 될 수 있습니다.
apply(obj,[arg1,arg2,arg3]); Apply의 첫 번째 매개변수는 객체이며 매개변수는 배열 또는 인수 객체일 수 있습니다.
이 두 가지 방법은 일반적으로 클래스 상속 및 콜백 함수에 사용됩니다.
함수 1. 클래스 상속:
먼저 이 예를 살펴보겠습니다.

코드 복사 코드는 다음과 같습니다.

function Person(name,age){
this.name = name; 🎜 >this.age=age;
this.alertName = function(){
alert(this.name)
}
this.alertAge = function(){
alert(this . age);
}
}
function webDever(name,age,sex){
Person.call(this,name,age)
this.sex=sex; > this.alertSex = function(){
alert(this.sex);
}
}
var test= new webDever("Fool's Wharf",28,"Male"); > test.alertName();//Fool's Wharf
test.alertAge();//28
test.alertSex();//Male


이런 방식으로 webDever는 클래스는 Person 클래스를 상속합니다. Person.call(this,name,age)은 Person 생성자(또는 함수)를 사용하여 이 객체에서 실행하는 것을 의미합니다. 그런 다음 webDever는 Person의 모든 속성과 메소드를 가지며 테스트 객체는 직접 Person의 메소드와 속성을 호출하세요. 2009년의 이해는 매우 피상적이었습니다. 하하.
함수 2. 콜백 함수:

콜백 라인에서도 호출과 적용이 매우 유용하며, 개발 과정에서 콜백 함수의 실행 컨텍스트를 변경해야 하는 경우가 많습니다. 일반적으로 Ajax는 전역, 즉 window 객체 아래에 사용됩니다.

코드 복사 코드는 다음과 같습니다. function Album(id, title, owner_id) {
this.id = id
this.name = title; .owner_id = owner_id;
};
Album.prototype.get_owner = 함수(콜백) {
var self = this
$.get('/owners/' this.owner_id, function ( data) {
callback && callback.call(self, data.name)
}
var album(1, 'life', 2); >album .get_owner(function (owner) {
alert('앨범' this.name'은 '소유자에게 속합니다);
})


여기



코드 복사

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