函数实际上是对象,每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。如果声明两个同名函数,则后一个会覆盖前一个,原因是指针指向了新的函数。
函数的定义:
- 使用函数声明语法定义函数
function sum(num1, num2){
return num1+num2;
}
- 使用函数表达式定义函数
var sum = function (num1, num2){
return num1+num2;
}; //没有函数名,但是可以使用变量sum 来引用函数
每个函数都包含两个属性:length和prototype。
- length属性表示函数希望接收的命名参数的个数,如下面的例子所示。