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);}});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);}