在javascript中,函数(function)就是对象。
其中方法函数的定义如下:
<scritp>
function add(num) {
alert(num);
}
function add(num, num2) {
alert(num, num2);
}
</script>
但是在JavaScript中不会像java一样有方法重载,当函数名相同的时候,只会调用最后定义的函数,但不是覆盖原理。实际情况是这样的:
<scritp>
var add = function (num) {
alert(num);
}
var add = function (num, num2) {
alert(num, num2);
}
</script>
从上面的代码可以看出,定义的函数就是一个对象,方法名是对对象的引用,当方法名相同时,只会改变它的引用指向,并不会重载也不是覆盖。
之所以function是一个对象,其底层形如java代码,function是Function的一个实现了的对象:
<scritp>
var add = new Function("num", "alert(num)");
</script>
Function的参数全是字符串格式的,前面的参数都是函数的形参,最后一个时函数的主体。