javasctipt面向對象編程中一切都是對象。函數也是對象。
定義一個函數
function Animal(name){
   this.name=name;
   this.age=0;
};

var a1=Animal;//等價于alert(a1);返回函數的定義內容
var a2=Animal();//alert(a2);輸出undefine 因為Animal函數沒有返回值
var a3=new Animal();//alert(a3);輸出object 
var a4=new Animal;//alert(a4);輸出object 等價于上一行

參數的可變性 (arguments)  
第一個函數,功能是求幾個數字的和
function sum(){
    var s= 0;
    for(var i=0; i<arguments.length; i++)//javascript面向對象編程的特性,參數可通過arguments直接讀取。
         s+=  arguments[i];
    return s;
}
//最多255個。通過函數對象的length可以返回函數希望提供的參數個數。 
//sum(1,2) 返回3;sum(1,2,3,4);返回10