【Day4】不可貌相的JS变数型别:如何练成一个物件

前面提到除了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来捞取外部的资料到程序内部使用。

物件就像是乐高,可以自由拼装想要形状与组件,自己养成一个天下武功第一的大侠。


<<:  Day 3 - 条件式

>>:  How Much Does It Actually Cost To Hire A Hacker?

[Day 19] 实作 - 介面篇3

首先先将各个快捷键设好 将ActionBattle_Var.js改成 开一只程序ActionBatt...

[Day8] Vite 出小蜜蜂~撞击检测 Collision Detection!

Day8 Collision Detection 接下来我们要让 Laser 打中敌人时,将敌人消灭...

[Day14] LDAP Injection

前言 Injection +1 ↑ 正文 概念 LDAP全称Lightweight Director...

[Day5] Create project、app

夥伴们大家好,我们今天要创建project以及app,一个project底下可以有很多个app,就好...

DAY04 - 建置程序开发环境

前言: 今天是铁人赛的第四天,总算要来建置开发环境了! 因为大叔我只有Windows笔电,所以开发环...