前言
不管是哪門(mén)語(yǔ)言,千變?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)。
正文
說(shuō)起創(chuàng)建對(duì)象,最容易想到的便是通過(guò)對(duì)象字面量方式直接定義一個(gè)對(duì)象吧,但這種方式只能創(chuàng)建少量,單獨(dú)且相互間無(wú)聯(lián)系的對(duì)象。若要批量創(chuàng)建對(duì)象,該如何?
工廠(chǎng)模式
工廠(chǎng)模式非常直觀(guān),將創(chuàng)建對(duì)象的過(guò)程抽象為一個(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);