日期:2014-05-16  浏览次数:20441 次

js学习笔记--方法重载&类型校验
js方法重载需要做两件事:1.方法中参数的个数2.参数的类型
在每个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);
}