iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
自我挑戰組

JavaScript老學徒筆記—馬步篇系列 第 5

【Day4】不可貌相的JS變數型別:如何練成一個物件

  • 分享至 

  • xImage
  •  

前面提到除了string、number、boolean、null和undefined等5種基本型別之外,其他的值都是物件型別

那什麼是物件呢?

物件是0到多種屬性的集合,而所謂的屬性是一組鍵(key)與值(value)的配對關聯。值的內容可以是字串、數字等基本型別,也可以是另一個物件,或是一個函數。

如何建立一個自定義的物件?

現在最常見的方法就是使用**「物件實字」(Object literal)**的方法,用一個大括號{}建立一個物件,同時在大括號中直接建立屬性及方法。

//使用「物件實字」建立一個郭靖(guoJing)的物件
var guoJing = {
	name: '郭靖',
	gender: 'male',
	skill: '降龍十八掌',
	useSkill: function () {
		alert('降龍十八掌之亢龍有悔')
	}
}

而在早期要建立一個物件,會使用new 關鍵字來建立一個物件實體,再用「物件.屬性」的方式替這個物件新增屬性及方法。

//使用「new」關鍵字建立一個郭靖(guoJing)的物件
var guoJing = new Object();
guoJing.name = '郭靖';
guoJing.gender= 'male';
guoJing.skill= '降龍十八掌';
guoJing.useSkill= function () {
		alert('降龍十八掌之亢龍有悔')
}

至於如何新增與刪除屬性,可以用下面這種方式:

//建立一個郭靖(guoJing)的物件,裡面不放任何屬性
var guoJing = {}
//建立name的屬性
guoJing.name = '郭靖';
//建立skill的屬性
guoJing.skill= '降龍十八掌';

//刪除 guoJing.skill 這個屬性
delete guoJing.skill;

console.log(guoJing.skill)  //undefined

前面提到用物件實字的方式建立物件,這也是JSON格式的核心語法,JavaScript透過JSON來撈取外部的資料到程式內部使用。

物件就像是樂高,可以自由拼裝想要形狀與組件,自己養成一個天下武功第一的大俠。


上一篇
【Day3】不可貌相的JS變數型別:基本型別
下一篇
【Day5】不是八卦陣的有序集合:陣列
系列文
JavaScript老學徒筆記—馬步篇35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言