JavaScript学习笔记——8、对象

  大家好,我是阿赵。继续学习JavaScript,这次学习一下对象。

一、 什么是对象

  我们经常听到面向对象编程这个说法,这个对象是什么呢?
  对象是一种数据类型,是无序的数据集合。
特点:

  1. 无序数据集合
  2. 可以详细的描述某件事情。
      我们可以声明一个对象,对象里面可以有属性,还可以有函数。
    比如:
    let player1 = {
      name: 'azhao',
      age: 18,
      say: function() {
        console.log(this.name);
      }
    }
	player1.say();

  这里player1就是一个对象,这个对象里面,有对象的名字,叫做azhao,有对象的年龄,是18岁。然后这个对象还提供了一个叫做say的方法,在外部可以调用say方法,它就会打印出player1的名字。
  我们得到了player1,实际上就是得到了关于这个player1的所有属性参数和方法,而如果player1需要增加其他属性,都是在player1内部去操作,不需要涉及到外部的代码。

二、 声明对象的方法

1. 声明一个空对象

  如果是想声明一个完全没有内容的空对象,可以这样:

let player1 = {};
或者
let player1 = new Object();

  这时候对象是没有内容的,可以后期添加

2. 声明有内容的对象

    let player1 = {
      name: '阿赵',
      age: 18,
      sex: '男'      
	}

  在声明的时候,大括号里面可以写对应的“属性名:属性值”或者“方法名:函数”。多个属性之间,用逗号分隔。

三、 对象的常用操作

1、 查找属性

let player1 = {
  name: '阿赵',
  age: 18,   
}
console.log(player1.name);
console.log(player1.age);

结果:
在这里插入图片描述

  可以看到,想查询对象的属性值,直接“对象.属性名”就可以了

2、 修改属性

    let player1 = {
      name: '阿赵',
      age: 18,
    }
    player1.age = 20;
	console.log(player1);

结果:
在这里插入图片描述

可以看到,age被改成20了,所以想修改属性值,也是直接“对象.属性名”就可以了

3、 新增属性

    let player1 = {
      name: '阿赵',
      age: 18,
    }
    player1.sex = '男';
	console.log(player1);

结果:
在这里插入图片描述

  可以看到,一开始player1没有sex属性,后面添加了之后,就有了,所以想新增属性,也是直接“对象.属性名”就可以了。

4、 删除属性

    let player1 = {
      name: '阿赵',
      age: 18,
      sex: '男'
    }
    delete player1.age;
	console.log(player1);

结果:
在这里插入图片描述

  可以看到,如果想删除对象的某个属性,可以用“delete 对象.属性名”

四、 构造函数

  之前构造一个player1,需要

let player1 = {
  name: '阿赵',
  age: 18,
  sex: '男'
}

  如果我们需要再构建一个属性数量一样,只是属性值不一样的对象,还要:

let player2 = {
  name: '张三',
  age: 19,
  sex: '男'
}

  然后如果要增加删除属性数量,还要逐个去修改创建的方法。这明显是不合理的。
  所以我们可以通过构造函数来生成对象。比如:

function Player(name, age, sex) {
  this.name = name;
  this.age = age;
  this.sex = sex;
}
let player1 = new Player('阿赵', 18, '男');
let player2 = new Player('张三', 19, '男');
let player3 = new Player('李四', 20, '男');
console.log(player1);
console.log(player2);
console.log(player3);

结果:
在这里插入图片描述

  我们定义了一个函数叫做Player,然后传入了3个参数,通过new这个Player函数,就返回了一个Player的对象,里面有我们想要的各种属性了。

五、 遍历对象

  如果我们想把对象里面的所有属性都遍历一遍,可以使用for语句。比如

function Player(name, age, sex) {
  this.name = name;
  this.age = age;
  this.sex = sex;
}
let player1 = new Player('阿赵', 18, '男');
for (let key in player1) {
  console.log(key); // key 变量 输出  得到的是 属性名
  console.log(player1[key]); // obj[k] 得到是 属性值
} 

  结果:
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值