最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScript中的方法重载实例_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:35:46
文档

JavaScript中的方法重载实例_javascript技巧

JavaScript中的方法重载实例_javascript技巧:.NET里面的方法重载用着的确很方便,哪Javascript里面能不能也哪样做呢? Javasciprt里面本生是没有方法重载的功能,以前很多人的做法可能是直接少传参数过去,然后在根据参数是否为 undefined 未定义来决定怎么处理,从而实现类似方法重载的功能。 例如
推荐度:
导读JavaScript中的方法重载实例_javascript技巧:.NET里面的方法重载用着的确很方便,哪Javascript里面能不能也哪样做呢? Javasciprt里面本生是没有方法重载的功能,以前很多人的做法可能是直接少传参数过去,然后在根据参数是否为 undefined 未定义来决定怎么处理,从而实现类似方法重载的功能。 例如


.NET里面的方法重载用着的确很方便,哪Javascript里面能不能也哪样做呢?

Javasciprt里面本生是没有方法重载的功能,以前很多人的做法可能是直接少传参数过去,然后在根据参数是否为 “undefined” 未定义来决定怎么处理,从而实现类似方法重载的功能。

例如:

代码如下:
var showMessage = function(name,value,id){
if(id != ”undefined”){
alert(name+value+id);
}
else if(value != ”undefined”){
alert(name + value);
}
else{
alert(name);
}
}

showMessage(”哈哈”);
showMessage(”哈哈”,”??”);
showMessage(”哈哈”,”??”,124124);

今天在Ajaxian上面看到了一篇关于Javascript方法重载的写法,它是能过另外一个方法来实现的。

看一下这个代码:

代码如下:
// addMethod - By John Resig (MIT Licensed)
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 );
}
}
};

var UserInfo = function(){
addMethod(this,”find”,function(){
alert(”没有参数”);
});

addMethod(this,”find”,function(name){
alert(”传入的参数是一个,叫 ”+name);
});

addMethod(this,”find”,function(name,value){
alert(”传入了两个参数,一个叫 name=”+name+” 一个叫 value=”+value);
});
};

var userinfo = new UserInfo();
userinfo.find();
userinfo.find('我是谁?');
userinfo.find('某某某','1512412514');

看,这样一来就简单了……

文档

JavaScript中的方法重载实例_javascript技巧

JavaScript中的方法重载实例_javascript技巧:.NET里面的方法重载用着的确很方便,哪Javascript里面能不能也哪样做呢? Javasciprt里面本生是没有方法重载的功能,以前很多人的做法可能是直接少传参数过去,然后在根据参数是否为 undefined 未定义来决定怎么处理,从而实现类似方法重载的功能。 例如
推荐度:
标签: 方法 技巧 的方法
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top