Object Prototypes (對象原型)

定義一個方法,傳入一個string類型的參數,而後將string的每一個字符間加個空格返回。數組

spacify('hello world') // => 'h e l l o w o r l d' 安全

function spacify(str){函數

  returen str.split('').join(' ');this

split方法 // 將一個字符串分割爲子字符串,而後將結果做爲字符串數組返回。spa

 

join方法 // 返回字符串值,其中包含了鏈接到一塊兒的數組的全部元素,元素由指定的分隔符分隔開來。prototype

}code

把spacify方法放入 String 對象上面。對象

'hello world'.spacify(); ip

String.prototype.spacify = function(){ci

  return this.split('').join(' ');

}

直接在對象的原型(prototypes)上添加方法是否安全,尤爲是在 Object 對象上。

函數聲明:function fnName(){......}; // 使用function關鍵字聲明一個函數,再指定一個名字,叫函數聲明。

函數表達式:var fnName = function(){......}; // 使用function關鍵字聲明一個函數,可是未給函數命名。最後將匿名函數賦值給一個變量,叫函數表達式。

匿名函數:function(){......};使用function關鍵字聲明一個函數,可是並未給函數命名,因此叫匿名函數。匿名函數屬於函數表達式,匿名函數有不少做用,用於名種回調。

函數聲明和函數表達式不一樣點:

1.JavaScript引擎在解析JavaScript代碼時會‘函數聲明提高’(function declaration Hoisting)當前執行環境(做用域)上的函數聲明,而函數表達式必須等到JavaScript引擎執行到它所在行時,

纔會從上而下一行一行地解析函數表達式。

2.函數表達式後面能夠加括號當即調用該函數,函數聲明不能夠,只能以fnName()形式調用。

相關文章
相關標籤/搜索