Javascrip基础复习05-对象

对象

什么是对象

对象(object):JavaScript里的一种数据类型

可以理解为是一种无序的数据集合

对象的特点: 无序的数据集合, 可以详细的描述某个事物

对象使用

  1. 对象声明语法

let 对象名 = { }
  1. 对象有属性和方法组成

属性:信息或叫特征(名词)。

方法:功能或叫行为(动词)。

let 对象名 = {
    属性名:属性值,
    方法名:函数
}
  1. 属性:

数据描述性的信息称为属性,一般是名词性的。

  1. . 对象属性没有顺序

  2. 属性都是成对出现的,包括属性名和值,使用英文 : 分隔

  3. 多个属性之间使用英文 , 分隔

  4. 属性就是依附在对象上的变量(外面是变量,对象内是属性)

  5. 属性名可以使用 "" 或 '',一般情况下省略,除非名称遇到特殊符号如空格、中横线等

  6. 属性访问

声明对象,并添加了若干属性后,可以使用 . 或 [' '] 获得对象中属性对应的值,我称之为属性访问

简单理解就是获得对象里面的属性值

<script>
    Let person = {
        name: '刘德华',
        age: '18',
        sex: '男'
    }
    // 1 属性访问 对象名.属性名
    console.log(person.name)
​
    // 2 属性访问 对象名['属性名']
    console.log(person['name'])
</script>

两种方式有什么区别?

  1. 点后面的属性名一定不要加引号

  2. [] 里面的属性名一定加引号

  3. 后期不同使用场景会用到不同的写法

  1. 对象中的方法

数据行为性的信息称为方法,一般是动词性的,其本质是函数

<script>
    Let person = {
        name: '刘德华',
        // 方法名:function() {}
        sayHi: function() {
            document.write('hi~~')
        }
    }
</script>
  1. 方法是由方法名和函数两部分构成,它们之间使用 : 分隔

  2. 多个属性之间使用英文 , 分隔

  3. 方法是依附在对象中的函数

  4. 方法名可以使用 "" 或 '',一般情况下省略,除非名称遇到特殊符号如空格、中横线等

  5. 对象中的方法访问

声明对象,并添加了若干方法后,可以使用 . 调用对象中函数,我称之为方法调用。

  <script>
    let obj = {
      name: '刘德华',
      // 添加方法
      // 方法名:function() {}
      sayHi: function (str) {
        document.write(str)
      }
    }
    // 方法访问   对象方法可以传参
    obj.sayHi('hi~~')
  </script>

注意: 千万别忘了给方法名后面加小括号

操作对象

对象本质是无序的数据集合, 操作数据无非就是 增 删 改 查.

查: 查询对象(访问对象)

查询对象的属性: 对象名.属性名 或者 对象名[‘属性名’] 查询对象的方法: 对象名.方法名()

改:重新赋值

修改对象的属性: 对象名.属性名 = 属性值 修改对象的方法: 对象名.方法名 = function() {}

  <script>
    let obj = {
      name: '刘德华',
      sayHi: function (str) {
        console.log(str)
      }
    }
    // 修改对象的属性: 对象名.属性名 = 属性值
    obj.name = '小刘'
    console.log(obj)
​
    // 修改对象的方法: 对象名.方法名 = function() {}
    obj.sayHi = function () {
      console.log('冰雨')
    }
    obj.sayHi()
  </script>

增: 对象添加新的数据

添加对象的新属性: 对象名.新属性名 = 新属性值 或者 对象名['新属性名'] = 新属性值

添加对象的新方法: 对象名.方法名 = function() {}

  <script>
    let obj = {
      name: '刘德华',
      sayHi: function (str) {
        document.write(str)
      }
    }
    // 给对象添加新属性: 对象名.属性名 = 属性值
    // 给对象添加新属性: 对象名['属性名'] = 属性值
    obj.age = 18
    obj['sex'] = '男'
    console.log(obj)
​
    // 给对象添加新方法: 对象名.方法名 = function() {}
    obj.sing = function () {
      console.log('冰雨')
    }
    obj.sing()
  </script>

删: 删除对象中属性

delete 对象名.属性名

  <script>
    let obj = {
      name: '刘德华',
      age: 18,
      sex: '男',
      sayHi: function (str) {
        console.log(str)
      }
    }
    // 删除对象的属性: delete 对象名.属性名 或者 delete 对象名['属性名']
    // 删除对象的方法: delete 对象名.方法名    (不要括号)
    delete obj.name
    delete obj['age']
    delete obj.sayHi
    console.log(obj)
  </script>

遍历对象

遍历对象 对象没有像数组一样的length属性,所以无法确定长度 对象里面是无序的键值对, 没有规律. 不像数组里面有规律的下标

一般不用这种方式遍历数组、主要是用来遍历对象 一定记住: k 是获得对象的属性名, 对象名[k] 是获得 属性值

  <script>
    let obj = {
      name: '刘德华',
      age: 18,
      sex: '男',
      sayHi: function (str) {
        console.log(str)
      }
    }
    // 使用 for...in 语法来遍历对象 k 表示对象里面的属性名
    // 访问对象的方法:1对象名.属性名  2对象名['属性名']
    // 我们用的是 for...in 语法来遍历对象 访问对象的属性值 只能用 对象名['属性名']
​
    for (let k in obj) {
      console.log(k) //获得对象属性
      console.log(obj[k]) //获得对象值
    }
  </script>

遍历对象的语句:for in

遍历对象中, for k in obj,获得对象属性是 k,获得对象值是 obj[k]

内置对象

内置对象是什么

JavaScript内部提供的对象,包含各种属性和方法给开发者调用

内置对象Math

Math对象是JavaScript提供的一个“数学高手”对象

提供了一系列做数学运算的方法

方法有: random:生成0-1之间的随机数(包含0不包括1) ceil:向上取整 floor:向下取整 max:找最大数 min:找最小数 pow:幂运算 abs:绝对值

Math - JavaScript | MDN

生成任意范围随机数

<script>
    function getRandom(min, max) {
      min = Math.ceil(min);
      max = Math.floor(max);
      return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值 
    }
</script>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

端端1023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值