js方法重载需要做两件事:1.方法中参数的个数2.参数的类型
在每个js方法中都存在一个名为arguments的文本变量,它类似一个数组,包含所有传递给方法的参数,但它又不是真实的数组,所以不能调用push()来增加新的内容,也不能修改它。但是可以访问这个变量中的属性值,该变量有 .length属性,可以被访问。
js类型校验 ,通过typeof
在每个js方法中都存在一个名为arguments的文本变量,它类似一个数组,包含所有传递给方法的参数,但它又不是真实的数组,所以不能调用push()来增加新的内容,也不能修改它。但是可以访问这个变量中的属性值,该变量有 .length属性,可以被访问。
function setMessage(msg,obj){
if(arguments.length==2){
obj.handleMsg(msg);
}else
{
alert(msg);
}
}
setMessage("hello,world!");
setMessage("How are you?",{
handleMsg:function(msg){
alert("This is a custom message:"+msg);
}
});
js类型校验 ,通过typeof
function displayError(msg){
if(typeof msg == "undefiend"){
msg="an error occurred";
}
alert(msg);
}
function typeChecking(num,arr){
if(num.constructor==String){
num = parseInt(num);
}
alert(num);
if(arr.constructor == Array){
arr = arr.join(',');
}
alert(arr);
}