0
点赞
收藏
分享

微信扫一扫

【笔记10】Javascript - 对象

对象

对象是基础的变量类型

var obj = {}

把一张桌子看作对象,他有四条腿一个桌面。

人也可以抽象成一个对象:

var mrDeng = {
name : "MrDeng",
age : 30,
sex : "male",
health: 100,
smoke : function(){
console.log("I am smoking! cool!!!");
mrDeng.health --;
},
drink : function(){
console.log("I am drink");
mrDeng.health ++;
}
}

属性名可以是各类的变量,属性值可以是各种的数据类型。

属性值是个函数的话,咱们管这种属性值叫方法

控制台可以直接读写对象的属性,读写时需要加上对象的"名字.属性"。

【笔记10】Javascript - 对象_对象

所以调用 smoke 方法,也可以操作对象的属性

【笔记10】Javascript - 对象_创建对象的方法_02

就像人可以用第一人称“我”指代自己一样,对象也可以使用“this”来指代对象本身。

修改一下这个对象里的方法:

smoke : function(){
console.log("I am smoking! cool!!!");
this.health --; // this 指代对象本身
}

操作属性

在控制台操作属性更直观一些。

属性的增加:就直接“对象.XX = xx”,就可以了。

【笔记10】Javascript - 对象_对象_03

属性的查看:基本操作,在代码里和控制台里都可以。

console.log(mrDeng.age);    // 30

属性的修改:在已有属性上修改。

【笔记10】Javascript - 对象_操作对象属性_04

属性的删除:借助delete操作符来删除。

注意:当一个变量没有声明,引用的时候会报错,在这里删除一个对象属性,再引用的时候返回的是“undefined”。

【笔记10】Javascript - 对象_对象_05

示例:

创建一个人的对象,有些基本属性和方法

var deng = {
name: "laodeng",
sex: "male",
prepareWife: "xiaowang",
gf: "xiaoliu",
wife: "",
divorce: function () { // 离婚
delete this.wife;
this.gf = this.prepareWife;
},
getMarried: function () { // 结婚
this.wife = this.gf;
},
changePrepareWife: function (someone) { // 更换
this.prepareWife = someone;
}
}

先执行结婚方法:deng.wife 的值由“” 变为"xiaoliu"。

【笔记10】Javascript - 对象_创建对象的方法_06

再执行离婚方法:deng.wife 的值被删除, deng.gf 的值更新。​​​​

【笔记10】Javascript - 对象_操作对象属性_07

再执行结婚方法:deng.wife 被赋值为新值,值由 deng.gf 而来

【笔记10】Javascript - 对象_操作对象属性_08

重换个预备人选:这个方法传参进来,deng.prepareWife 有了新值。

【笔记10】Javascript - 对象_对象_09

再执行离婚方法:deng.wife 的值又被清空。

【笔记10】Javascript - 对象_操作对象属性_10

再执行结婚方法:deng.wife 被赋新值。

【笔记10】Javascript - 对象_对象_11

执行完这么一圈,再查看 deng 对象信息:

【笔记10】Javascript - 对象_创建对象的方法_12

示例来说明对象方法的使用和对属性的增删改查。


对象的创建方法

第一种方法是:plain object    对象字面量/对象直接量

var obj = {}

第二种方法是:构造函数














举报

相关推荐

0 条评论