前言
不管是哪門語言,千變?nèi)f化不離其宗,深入理解其本質(zhì),方能應(yīng)用自如。對(duì)應(yīng)到j(luò)s,閉包,原型,函數(shù),對(duì)象等是需要花費(fèi)大功夫思考、理解的。本文穿插了js原型和函數(shù)的相關(guān)知識(shí),討論了批量創(chuàng)建對(duì)象的幾種方式以及它們的優(yōu)缺點(diǎn)。
正文
說起創(chuàng)建對(duì)象,最容易想到的便是通過對(duì)象字面量方式直接定義一個(gè)對(duì)象吧,但這種方式只能創(chuàng)建少量,單獨(dú)且相互間無聯(lián)系的對(duì)象。若要批量創(chuàng)建對(duì)象,該如何?
工廠模式
工廠模式非常直觀,將創(chuàng)建對(duì)象的過程抽象為一個(gè)函數(shù),用函數(shù)封裝以特定接口創(chuàng)建對(duì)象的細(xì)節(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);