这次给大家带来javascript的函数重载详解,javascript的函数重载的注意事项有哪些,下面就是实战案例,一起来看一下。
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相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
相关阅读:
这套系统是之前为一个朋友开发的一套游戏币交易系统,开发语言asp+javascript 数据库是Access。现在提供免费下载给新人学习,请不要用于商业用处。大分类为:商品管理现金转虚拟币管理 虚拟币转现金管理 历史转换记录 ID搜索虚拟币管理用户管理前台用户管理 被停权的会员 后台管理员添加 后台用户员管理 数据表备份分类管理游戏名称管理 服务器名管理数据统计查询交易类型数据信息管理修改重要公告
立即学习“Java免费学习笔记(深入)”;










