前言
不管是哪門語言,千變?nèi)f化不離其宗,深入理解其本質(zhì),方能應用自如。對應到j(luò)s,閉包,原型,函數(shù),對象等是需要花費大功夫思考、理解的。本文穿插了js原型和函數(shù)的相關(guān)知識,討論了批量創(chuàng)建對象的幾種方式以及它們的優(yōu)缺點。
正文
說起創(chuàng)建對象,最容易想到的便是通過對象字面量方式直接定義一個對象吧,但這種方式只能創(chuàng)建少量,單獨且相互間無聯(lián)系的對象。若要批量創(chuàng)建對象,該如何?
工廠模式
工廠模式非常直觀,將創(chuàng)建對象的過程抽象為一個函數(shù),用函數(shù)封裝以特定接口創(chuàng)建對象的細節(jié)。如下所示:
function createStudent(name,sex,grade){ var o = new Object(); o.name = name; o.sex = sex; o.grade = grade; o.sayName = function(){ console.log(this.name); } return o; }var s1 = createStudent('Claiyre','famale',1);