js忍者秘籍整理——函数重载
2017-03-30 15:36
393 查看
三种方法:
1、根据传入参数的类型不同执行不同操作
2、通过某些特定参数是否存在进行判断
3、通过传入参数的个数进行判断
书中主要描述了第三种方法,即:通过传入参数的个数进行判断
1)通过if-else或者switch 会冗长且不整洁
2)如果按照如下思路,添加想要的重载方法,漂亮且整洁:
具体的函数重载 方法 addMethod
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);
};
}
1、根据传入参数的类型不同执行不同操作
2、通过某些特定参数是否存在进行判断
3、通过传入参数的个数进行判断
书中主要描述了第三种方法,即:通过传入参数的个数进行判断
1)通过if-else或者switch 会冗长且不整洁
2)如果按照如下思路,添加想要的重载方法,漂亮且整洁:
var ninjia = {}; addMethod(ninjia,'whatever',function(){/*do sth.*/}); addMethod(ninjia,'whatever',function(a){/*do sth. else*/}) addMethod(ninjia,'whatever',function(a,b){/*yet do sth. else*/})
具体的函数重载 方法 addMethod
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);
};
}
相关文章推荐
- Javascript 进阶知识整理[读Javascript忍者秘籍整理]
- web 打印的终极秘籍(整理)
- web 打印的终极秘籍(整理)
- DWR util.js 整理(DWR 处理各种form表单Select/option,table等,List,Bean
- 最常用的JS匯總,精心整理,供大家參考!!!
- 收集整理:js弹出div对话框(1,透明,2带拖动功能)
- IE和Firefox的js兼容性整理
- js+ajax实现的A*游戏路径算法整理第1/2页
- JS代码整理
- js代码整理
- Js应用整理
- JS+FLASH幻灯片播放图片脚本,整理了代码,使得调用更加方便!
- Js 整理
- js整理工具
- js常用整理收集(2)
- JS整理
- js日历控件整理
- JS+FLASH幻灯片播放图片脚本,整理了代码,使得调用更加方便!
- js+ajax实现的A*游戏路径算法整理第1/2页
- 在as和js里都可以使用的小方法整理