[想试试看JavaScript ] 物件

Javascript 中将资料型态分成,基本型别(Primitive)与物件型别(Object)两大类。
基本型别又分成stringnumberBooleannullundefined几种。
除了上面这几种基本型别,几乎可以归类在物件型别(Object)。
例如:函式、物件。

物件

基本型别可以放一些简单的资料进去,那麽物件就可以放多层、复杂的资料。
我们很常在物件里面放字串、数字、布林值、函式,比较复杂的资料通常就会建立物件来存放这些资料。

建立物件

我们可以使用 new 关键字来建立物件

var point=new Object();

这里使用 new Object()建立物件後在放进变数 point

建立物件的成员

建立物件後,就可以放更多的资料进去

point.x=3; // 在物件建立 x 属性,将3放进去
point.y=4; // 在物件建立 y 属性,将4放进去
point.getPosition=function(){ // 在物件建立方法
    alert(this.x+" , "+this.y);
}

alert() 里面的 this 代表的是使用这个函式的物件,也就是 point

使用物件

要使用属性的话这样写

alert(point.x); // 显示 3

要使用方法的话这样写

point.getPosition(); // 显示 3 , 4

使用范例

物件比较常用在比较复杂的资料,搭配「类别」使用就可以快速建立许多物件。
做一个游戏的范例,可能就可以比较好想像什麽时候会使用物件。

var player=new Object(); // 建立一个新的物件,代表建立一个新玩家
player.name="Abby";        // 玩家的名称叫做 Abby
player.hp=100;             // 玩家的血量有 100
player.fight=function(){   // 玩家战斗的话血量-2
    this.hp=this.hp-2;
}
player.rest=function(){    // 玩家恢复的话,增加血量
    this.hp++;
}
player.report=function(){  // 显示玩家名称与血量
    alert(this.name+": "+this.hp)
}

建立好这个物件以及物件成员之後,我们可以来试试看

player.fight(); // 玩家进行战斗,血量-2
player.rest();  // 玩家进行休息,血量+1
player.report();// 回报玩家状态,显示 "Abby: 99"

<<:  Day 13. Hashicorp Vault: HA with Integrated Storage

>>:  DAY13 - [JS] 重新改写ToDoList

TypeScript 能手养成之旅 Day 8 物件型别-扩充型别-元组(Tuple)

前言 今天要来介绍,Typescript 特有的类型 Tuple 、 Enum,到底会是什麽,有趣的...

[DAY 06] EC2 个体的采买选项

EC2 个体的项目既然如此繁杂,使用者要如何能够得到符合所需且经济的个体呢?AWS 也设计了一些方...

【HTML】标记?标签?HTML元素?

【前言】 本系列为个人前端学习之路的学习笔记,在过往的学习过程中累积了很多笔记,如今想藉着IT邦帮忙...

Day 29 - 倒数第二篇的胡言乱语

最近又从主管那边收到要做新的专案。 如果计画时间上线时间合理,不是十天没日没夜的工作,通常都会觉得这...

Day11表格(HTML)

HTML表格 顾名思义 就是一个可以放入资料的容器 并且以表格的形式呈现给使用者 是个重要的功能 需...