JavaScript 8

如何自定義對象

1.簡單的創(chuàng)建對象

var person = new Object();

// 對象可以添加屬性

person.name = "名字";

person.age = 20;

person.sex = “性別”;

// 對象可以添加方法

person.run = function(){

alert("人在跑");

}

2.組合創(chuàng)建對象方法

var obj = {

name:"名字",

age:18,

sex:"性別",

sayHi:function(){

alert("我叫" + obj.name + ",年齡" + obj.age);

? ? ? ? ? }

}

訪問對象屬性

1.點語法

person.name

2.方括號語法

[屬性名]

person[‘name’]

工廠模式

解決創(chuàng)建多個實例對象的問題肛走,定義工廠函數(shù)切黔,用來創(chuàng)建實例對象

例如,函數(shù) createCar() 可用于封裝前面列出的創(chuàng)建 car 對象的操作:

function createCar() {

let oTempCar = new Object;

oTempCar.color = "blue";

oTempCar.doors = 4;

oTempCar.mpg = 25;

oTempCar.showColor = function() {alert(this.color); };

return oTempCar;}

let oCar1 = createCar(); let oCar2 = createCar();

為函數(shù)傳遞參數(shù)

我們還可以修改 createCar() 函數(shù)擎勘,給它傳遞各個屬性的默認值,而不是簡單地賦予屬性默認值:

function createCar(sColor,iDoors,iMpg) {

var oTempCar = new Object;

oTempCar.color = sColor;

oTempCar.doors = iDoors;

oTempCar.mpg = iMpg;

oTempCar.showColor = function() {alert(this.color);};

return oTempCar;}

var oCar1 = createCar("red",4,23);

var oCar2 = createCar("blue",3,25);

oCar1.showColor(); //輸出 "red"

oCar2.showColor(); //輸出 "blue"

在工廠函數(shù)外定義對象的方法

前面的例子中鹿寨,每次調(diào)用函數(shù) createCar()蕊肥,都要創(chuàng)建新函數(shù) showColor(),意味著每個對象都有自己的 showColor() 版本众弓。而事實上,每個對象都共享同一個函數(shù)隔箍。

有些開發(fā)者在工廠函數(shù)外定義對象的方法谓娃,然后通過屬性指向該方法,從而避免這個問題:

function showColor() { alert(this.color);}

function createCar(sColor,iDoors,iMpg) {

var oTempCar = new Object;oTempCar.color = sColor;oTempCar.doors = iDoors; oTempCar.mpg = iMpg;

oTempCar.showColor = showColor;? return oTempCar;}

var oCar1 = createCar("red",4,23);var oCar2 = createCar("blue",3,25);

oCar1.showColor();//輸出 "red"? ? oCar2.showColor(); //輸出 "blue"

構(gòu)造函數(shù)

js中沒有類的概念蜒滩,構(gòu)造函數(shù)相當于類滨达,用來創(chuàng)建對象,定義構(gòu)造函數(shù)就像定義工廠函數(shù)一樣俯艰,命名規(guī)則:首字母大寫

for...in 循環(huán)

for...in 語句循環(huán)遍歷對象的屬性捡遍。

for (對象中的變量)

{

要執(zhí)行的代碼

}

注釋:for...in 循環(huán)中的代碼塊將針對每個屬性執(zhí)行一次。

每一天的進步都是你的成長竹握,你必須快速成長画株,因為有人在等你,加油I辍N鄹选!

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昧甘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子战得,更是在濱河造成了極大的恐慌充边,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件常侦,死亡現(xiàn)場離奇詭異浇冰,居然都是意外死亡,警方通過查閱死者的電腦和手機聋亡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門肘习,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人坡倔,你說我怎么就攤上這事漂佩〔焙” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵投蝉,是天一觀的道長养葵。 經(jīng)常有香客問我,道長瘩缆,這世上最難降的妖魔是什么关拒? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮庸娱,結(jié)果婚禮上着绊,老公的妹妹穿的比我還像新娘。我一直安慰自己熟尉,他們只是感情好畔柔,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著臣樱,像睡著了一般靶擦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雇毫,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天玄捕,我揣著相機與錄音,去河邊找鬼棚放。 笑死枚粘,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的飘蚯。 我是一名探鬼主播馍迄,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼局骤!你這毒婦竟也來了攀圈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤峦甩,失蹤者是張志新(化名)和其女友劉穎赘来,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凯傲,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡犬辰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了冰单。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幌缝。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖诫欠,靈堂內(nèi)的尸體忽然破棺而出涵卵,到底是詐尸還是另有隱情浴栽,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布缘厢,位于F島的核電站吃度,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏贴硫。R本人自食惡果不足惜椿每,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望英遭。 院中可真熱鬧间护,春花似錦、人聲如沸挖诸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽多律。三九已至痴突,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間狼荞,已是汗流浹背辽装。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留相味,地道東北人拾积。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像丰涉,于是被迫代替她去往敵國和親拓巧。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容

  • ECMAScript關鍵字 delete do else finally function in instance...
    doudou2閱讀 721評論 0 0
  • 第一章: JS簡介 從當初簡單的語言一死,變成了現(xiàn)在能夠處理復雜計算和交互肛度,擁有閉包、匿名函數(shù)摘符, 甚至元編程等...
    LaBaby_閱讀 1,673評論 0 6
  • 一贤斜、函數(shù) JavaScript中的函數(shù)定義分為兩種:聲明式函數(shù)和賦值式函數(shù)。而且逛裤,函數(shù)的名稱就是函數(shù)的內(nèi)存地址,和...
    老惠的簡書閱讀 172評論 0 0
  • 第三章 基本概念 3.1 語法 ECMAScript標識符一般采用駝峰大小寫格式猴抹,也就是第一個字母小寫带族,剩下的每個...
    小雄子閱讀 545評論 0 1
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,237評論 0 4