函數(shù)本身就是一段JavaScript代碼,定義一次但可能被調(diào)用任意次。如果函數(shù)掛載在一個(gè)對(duì)象上,作為對(duì)象的一個(gè)屬性,通常這種函數(shù)被稱作對(duì)象的方法。用于初始化一個(gè)新創(chuàng)建的對(duì)象的函數(shù)被稱作構(gòu)造函數(shù)。

相對(duì)于其他面向?qū)ο笳Z言,在JavaScript中的函數(shù)是特殊的,函數(shù)即是對(duì)象。JavaScript可以把函數(shù)賦值給變量,或者作為參數(shù)傳遞給其他函數(shù),甚至可以給它們?cè)O(shè)置屬性等。

JavaScript的函數(shù)可以嵌套在其他函數(shù)中定義,這樣定義的函數(shù)就可以訪問它們外層函數(shù)中的任何變量。這也就是所謂的“閉包”,它可以給JavaScript帶來強(qiáng)勁的編程能力。

1.函數(shù)定義

函數(shù)使用function關(guān)鍵字定義,有函數(shù)語句函數(shù)表達(dá)式兩種定義方式。

//一.函數(shù)語句類://打印對(duì)象所有屬性名稱和值。function printprops(obj) {
    for (var key in obj) {