现在的位置: 首页 > 综合 > 正文

JavaScript:函数的可选参数

2013年10月14日 ⁄ 综合 ⁄ 共 693字 ⁄ 字号 评论关闭

JavaScript函数可以以任意数目的参数来调用, 而不管函数定义中的参数名字有多少个。由于函数是宽松类型的,它就没有办法声明所期望的参数的类型,并且,向任何函数传递任意类型的参数都是合法的。

当调用一个函数的参数少于声明的参数个数的时候,其他的参数就有一个undefined的值。编写这样的函数常常是很有用的:某些参数为可选的并且在调用函数的时候可以忽略它们。要做到这一点,必须能够为忽略掉的参数分配一个合理的默认值。例如:

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
		<script>
			function copyPropertyNamesToArray(o,a){
				a=a||[];
				for(var prop in o){
					a.push(prop);
				}
					return a;
			}
		</script>
	</head>
	<body>
		<script>
			var o={};
			o.x=1;
			o.y=2;
			o.z=3;
			p={"name":"Tom"};
			var test=copyPropertyNamesToArray(o);
			alert(test[0]);
			alert(test[1]);
			alert(test[2]);
			alert(copyPropertyNamesToArray(p,test));
		</script>
	
	</body>
</html>

在本例中,如果a已经定义了并且非null,它返回a,即便a是空的。否则它返回一个新的空数组。

注意在使用可选的参数来设计函数的时候,应该确保把可选的参数放在参数列表的末尾,以便它们可以被忽略。

抱歉!评论已关闭.