相信每個(gè)學(xué)習(xí)過(guò)其他語(yǔ)言的同學(xué)再去學(xué)習(xí)JavaScript時(shí)就會(huì)感覺到諸多的不適應(yīng),這真是一個(gè)顛覆我們以前的編程思想的一門語(yǔ)言,先不要說(shuō)它的各種數(shù)據(jù)類型以及表達(dá)式的不同了,最讓我們頭疼,恐怕就是面向?qū)ο蟮牟糠至?在JavaScript中,是沒有給定一個(gè)創(chuàng)建對(duì)象的關(guān)鍵詞的,它不像Java中一個(gè)class就可以創(chuàng)建一個(gè)對(duì)象,在JavaScript中,對(duì)象是一個(gè)十分松散的的key-value對(duì)的組合,通常,我們?cè)趧?chuàng)建對(duì)象時(shí),可以通過(guò){}來(lái)直接生成一個(gè)對(duì)象,就像我們之前所學(xué)的,對(duì)象中有屬性,有行為,這里我們稱為方法,那我們就先來(lái)創(chuàng)建一個(gè)對(duì)象:
var zhangSan ={name:"張三",age:14}
這就是一個(gè)簡(jiǎn)單的對(duì)象,這種方式的優(yōu)點(diǎn)是簡(jiǎn)單直接,一眼就可以看出來(lái)他的屬性和方法但是,這種方法的缺點(diǎn)也很明顯,當(dāng)我們要?jiǎng)?chuàng)建多個(gè)對(duì)象時(shí),我們就需要一個(gè)一個(gè)的去創(chuàng)建,一個(gè)一個(gè)的去賦值,這是十分麻煩而且也不太顯示的方法,那么我們可以用工廠法來(lái)創(chuàng)建:
1 function createPeople(name,food){ 2 var people = new object(); 3 people.name=name; 4 people.eat=function(food){ 5 alert(food); 6 } 7 return people; 8 } 9 var zhangSan=createPeople("zhangSan","豆腐"); 10 zhangSan.eat();//這時(shí)會(huì)彈出豆腐.