函数参数数量和类型的变化
我们经常可以看到,有的方法使用时,多个参数也可以,一个参数也可以
- 例如 jquery中 如果有两个参数,则第二个参数是回调函数 ,如果三个参数,第二个参数是回调函数的形参,第三个参数是回调函数
on("click",function(){
});
on("click",{a:1,b:2},function(){
})
其实,在底层的代码中,这种效果很容易实现
function on(type,data,handler){
if(data.constructor===Function){ //如果第二个参数是函数类型,将第二个参数给了第三个回调函数,第二个参数为null,如果不是,则第二个参数是回调函数的形参
handler=data;
data=null;
}
}