Object(..)、Function(..) 和 RegExp(..)

Object(..)、Function(..) 和 RegExp(..)

除非萬不得已,否則儘量不要使用 Object(..)/Function(..)/RegExp(..):

Object(..)、Function(..) 和 RegExp(..)

在實際情況中沒有必要使用 new Object() 來創建對象,因為這樣就無法像常量形式那樣一 次設定多個屬性,而必須逐一設定。

構造函數 Function 只在極少數情況下很有用,比如動態定義函數參數和函數體的時候。不要把 Function(..) 當作 eval(..) 的替代品,你基本上不會通過這種方式來定義函數。

強烈建議使用常量形式(如 /^a*b+/g)來定義正則表達式,這樣不僅語法簡單,執行效率 也更高,因為 JavaScript 引擎在代碼執行前會對它們進行預編譯和緩存。與前面的構造函 數不同,RegExp(..) 有時還是很有用的,比如動態定義正則表達式時:

Object(..)、Function(..) 和 RegExp(..)

上述情況在 JavaScript 編程中時有發生,這時 new RegExp("pattern","flags") 就能派上用 場。


分享到:


相關文章: