Maison > Article > interface Web > Explication détaillée de la surcharge de fonctions en JavaScript
Cette fois, je vais vous apporter une explication détaillée de la surcharge de fonctions en JavaScript. Quelles sont les précautions à prendre en cas de surcharge de fonctions en JavaScript. Voici un cas pratique, jetons un coup d'oeil.
function addMethod(object, name, fn){ var old = object[name]; object[name] = function() { if (fn.length == arguments.length) return fn.apply(this, arguments); else if (typeof old == 'function') return old.apply(this, arguments); }; }// 不传参数时,返回所有namefunction find0(){ return this.names; }// 传一个参数时,返回firstName匹配的namefunction find1(firstName){ var result = []; for (var i = 0; i < this.names.length; i++) { if (this.names[i].indexOf(firstName) === 0) { result.push(this.names[i]); } } return result; }// 传两个参数时,返回firstName和lastName都匹配的namefunction find2(firstName, lastName){ var result = []; for (var i = 0; i < this.names.length; i++) { if (this.names[i] === (firstName + " " + lastName)) { result.push(this.names[i]); } } return result; }function Users(){ addMethod(Users.prototype, "find", find0); addMethod(Users.prototype, "find", find1); addMethod(Users.prototype, "find", find2); }var users = new Users(); users.names = ["John Resig", "John Russell", "Dean Tom"];console.log(users.find()); // 输出[ 'John Resig', 'John Russell', 'Dean Tom' ]console.log(users.find("John")); // 输出[ 'John Resig', 'John Russell' ]console.log(users.find("John", "Resig")); // 输出[ 'John Resig' ]console.log(users.find("John", "E", "Resig")); // 输出undefined
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture connexe :
Comment utiliser les valeurs de marge négatives en CSS
Un formulaire jquery utile plug-in de validation
Quatre façons de déclarer des fonctions en js
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!