Maison > interface Web > js tutoriel > La différence entre l'appel Javascript et l'application et comment l'utiliser

La différence entre l'appel Javascript et l'application et comment l'utiliser

高洛峰
Libérer: 2017-01-12 11:40:00
original
1115 Les gens l'ont consulté

1. Définition de la méthode
call method :
Syntaxe : fun.call(thisArg[, arg1[, arg2[, ...]]])
Définition : Appeler une méthode d'un objet , remplace l'objet actuel par un autre objet.
Remarque :
La méthode call peut être utilisée pour appeler une méthode à la place d'un autre objet. La méthode d'appel modifie le contexte d'objet d'une fonction du contexte d'origine vers le nouvel objet spécifié par thisArg.
Si aucun paramètre thisArg n'est fourni, l'objet Global est utilisé comme thisArg.

Méthode apply :
Syntaxe : fun.apply(thisArg[, argsArray])
Définition : Appliquer une méthode d'un objet et remplacer l'objet actuel par un autre objet.
Remarque :
Si argArray n'est pas un tableau valide ou n'est pas un objet arguments, une TypeError sera provoquée.
Si ni argArray ni thisArg ne sont fournis, l'objet Global sera utilisé comme thisArg et aucun paramètre ne pourra être transmis.

2. La différence entre les deux
La différence fondamentale entre les deux méthodes est que les paramètres sont transmis
2.1 méthode d'appel :

function Product(name, price) {
this.name = name;
this.price = price;
if (price < 0)
throw RangeError(&#39;Cannot create product "&#39; + name + &#39;" with a negative price&#39;);
return this;
}
function Food(name, price) {
Product.call(this, name, price);
this.category = &#39;food&#39;;
}
Food.prototype = new Product();
function Toy(name, price) {
Product.call(this, name, price);
this.category = &#39;toy&#39;;
}
Toy.prototype = new Product();
var cheese = new Food(&#39;feta&#39;, 5);
var fun = new Toy(&#39;robot&#39;, 40);
Copier après la connexion

2.2. :

function Product(name, price) {
this.name = name;
this.price = price;
if (price < 0)
throw RangeError(&#39;Cannot create product "&#39; + name + &#39;" with a negative price&#39;);
return this;
}
function Food(name, price) {
Product.apply(this, arguments);
this.category = &#39;food&#39;;
}
Food.prototype = new Product();
function Toy(name, price) {
Product.apply(this, arguments);
this.category = &#39;toy&#39;;
}
Toy.prototype = new Product();
var cheese = new Food(&#39;feta&#39;, 5);
var fun = new Toy(&#39;robot&#39;, 40);
Copier après la connexion

3. Exemples de fonctions

3.1. Héritage de classe

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(“设计蜂巢”,24,”男”);
test.alertName();//设计蜂巢
test.alertAge();//24
test.alertSex();//男
Copier après la connexion

3.2. Fonction de rappel

function Album(id, title, owner_id) {
this.id = id;
this.name = title;
this.owner_id = owner_id;
};
Album.prototype.get_owner = function (callback) {
var self = this;
$.get(‘/owners/&#39; + this.owner_id, function (data) {
callback && callback.call(self, data.name);
});
};
var album = new Album(1, ‘设计蜂巢&#39;, 2);
album.get_owner(function (owner) {
alert(‘The album&#39; + this.name + ‘ belongs to ‘ + owner);
});
Copier après la connexion

Plus de différences et d'utilisations. entre l'appel Javascript et l'application Pour les articles liés aux méthodes, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal