JavaScript不支持函数重载

在学习JavaScript的过程中发现一个很有趣的问题:初学者刚开始学习的时候觉得Javascript和Java很相近,除了Javascript是弱类型语言外;但是有趣的是Javascript并不支持函数的重载,如果像Java那样写出函数重载Javascript并不会报错,这就是有趣的地方了---不支持但又不算错误。那么对于同名的函数,当调用时只是简单的调用最后一个函数,就像是最后的一个函数把前面的同名函数全部覆盖掉了。可以看一个例子:
	function test(a, b, c){
		return a+b+c;
	}


	function test(a, b){
		return a+b;
	}

	function test(){
		return "Hello world";
	}

	window.alert(test(1,2,3));
	window.alert(test(1,2));
	window.alert(test());

三个对函数的调用都是调用了最后一个test()函数,弹出“Hello world”。。。
其实我觉得本来Javascript的函数都是支持可变参数个数,而且又是弱类型语言,从这两点来看是不会支持函数重载的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章