JavaScript中的对象


JavaScript中的对象

对象(object)是JavaScript里的一种数据类型,可以理解为一种无序的数据集合(数组是有序的数据集合),通常用来描述某个事物。

语法:

  let 对象名 = {}
  let 对象名 = new Object()

对象由属性和方法组成:

  • 属性:信息或特征。比如手机尺寸、颜色、重量等
  • 方法:功能或行为。比如手机打电话、发短信、玩游戏等

属性

数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般都是名词性的。

  • 属性都是成对出现的,包括属性名和属性值,它们之间用英文分隔

对象的使用

属性和访问

数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是名词性的。

  1. 属性都是成 对出现的,包括属性名和值,它们之间使用英文的冒号分隔
  2. 多个属性之间使用英文的逗号分隔
  3. 属性就是依附在对象上的变量
  4. 属性名可以使用双引号或单引号,一般情况下省略,除非名称遇到特殊符号如空格、中横线等

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

let person = {
  name: '小明',
  age: 18,
  gender: '男',
};
console.log(person.name) // 结果为 小明
console.log(person.gender) // 结果为 男
console.log(person['age']) // 结果为 185,一定要加引号
console.log(person.age) // 结果同为 185

同数组一样,对象也可以动态添加属性,动态添加与直接定义是一样的,只是语法上更灵活。

let user = {}
// 动态追加属性
user.name = '小明' // 有改无增
user['age'] = 18
delete user.age // 删除对象中的属性

方法和调用

数据行为性的信息称为方法,如跑步、唱歌等,一般是动词性的,其本质是函数。

  1. 方法是由方法名和函数两部分构成,它们之间使用英文冒号分隔
  2. 多个属性之间使用英文逗号分隔
  3. 方法是依附在对象中的函数
  4. 方法名可以使用双引号或单引号,一般情况下省略,除非名称遇到特殊符号如空格、中横线等
let person = {
  name: '小红',
  age: 18,
  singing: function () { // 定义方法
    console.log('abc') // 打印abc
  },
  run: function () { // 打印123
    console.log('123')
  }
}
person.singing() // 调用对象中的 singing 方法
person.run() // 调用对象中的 run 方法

和添加属性一样,对象动态添加方法,动态添加与直接定义是一样的,只是语法上更灵活。

let user = {}
user.name = '小明' // 动态追加属性
user.['age'] = 18 // 动态追加属性
// 动态添加方法
user.move = function () {
  console.log('移动一点距离...')
}

遍历对象

对象只能通过for in来遍历,因为它的属性的存储是无序的,不像数组是有序的,可以用下标来遍历。

let obj = {
    uname: 'abc'
    age: 18
    sex: '男'
}
for(let k in obj) {
    // k 中存储的是属性名,是字符串 k === 'uname' ,obj.k === obj.'uname'     
    // obj[k]  属性值  obj[k] === obj['uname'] 
}

null

null 也是 JavaScript 中数据类型的一种,通常只用它来表示不存在的对象。使用 typeof 检测类型它的类型时,结果为 object

内置对象

回想一下我们曾经使用过的 console.logconsole其实就是 JavaScript 中内置的对象,该对象中存在一个方法叫 log,然后调用 log 这个方法,即 console.log()

除了 console 对象外,JavaScritp 还有其它的内置的对象,如document.write()

Math

Math 是 JavaScript 中内置的对象,称为数学对象,这个对象下即包含了属性,也包含了许多的方法。

属性
  • Math.PI —— 获取圆周率
// 打印圆周率
console.log(Math.PI);
方法

Math.random —— 生成 0 到 1 间的随机数(小数)

// 0 ~ 1 之间的随机数, 包含 0 不包含 1 ,经常用来求随机数
Math.random()

Math.ceil —— 数字向上取整

// 舍弃小数部分,整数部分加1
Math.ceil(3.4) // 4

Math.floor —— 数字向下取整

// 舍弃小数部分,整数部分不变
Math.floor(4.68) // 4

Math.round —— 四舍五入取整

// 取整,四舍五入原则
Math.round(5.46539) // 5
Math.round(4.849) // 5

Math.max —— 在一组数中找出最大的

// 找出最大值
Math.max(10, 21, 7, 24, 13) // 24

Math.min —— 在一组数中找出最小的

// 找出最小值
Math.min(24, 18, 6, 19, 21) // 6

Math.pow —— 幂方法

// 求某个数的多少次方
Math.pow(4, 2) // 求 4 的 2 次方,16
Math.pow(2, 3) // 求 2 的 3 次方,8
  • 15
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值