关于JS对象的学习记录

本文详细介绍了JavaScript中的对象概念,包括如何声明和操作对象,属性(如姓名、年龄)和方法(如函数),以及如何使用for...in遍历对象和JavaScript的内置对象如Math对象及其常用功能。
摘要由CSDN通过智能技术生成

对象

对象是JavaScript数据类型的一种,可以被理解成一种数据集合,由属性和方法两部分组成。

语法

声明一个对象类型的变量与之前声明一个数值或字符串类型的变量没有本质上的区别

 // 声明字符串类型变量
    let str = 'hello world!'
    
    // 声明数值类型变量
    let num = 199
​
    // 声明对象类型变量,使用一对花括号
    // user 便是一个对象了,目前它是一个空对象
    let user = {}

一、属性

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

  1. 属性是以属性名和值在一起成对出现的 (属性名: 属性值)

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

  3. 属性是依附在对象上的变量

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

例:

 let person = {
      name: '张三',
      age: 18, 
      stature: 185, 
      gender: '男', 
    }

声明对象,并添加了若干属性后,可以使用 .[] 获得对象中属性对应的值

例:

    console.log(person.name) //  张三
    console.log(person.gender) //  男
    console.log(person['stature']) // 185
    console.log(person.stature) //  185

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

例:

    let user = {}
    // 动态追加属性
    user.name = '张三'
    user['age'] = 18

二、方法

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

  1. 方法是由方法名和函数两部分构成 (方法名:函数)

  2. 多个方法之间使用英文,分隔

  3. 方法是依附在对象中的函数,在对象外的叫函数,在对象里的叫方法

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

例:

 let person = {
      name: '李四',
      age: 18,
      singing: function () {
        console.log('Do you wanna build a snowman~?')
      },
      run: function () {
        console.log('runrunrun~')
      }
    }

声明对象,并添加了若干方法后,可以使用 .[] 调用对象中函数

例:

    // 调用对象中 singing 方法
    person.singing()
    // 调用对象中的 run 方法
    person.run()

也可以动态为对象添加方法,动态添加与直接定义是一样的,只是语法上更灵活。

例:

let user = {}
    user.name = '李四'
    user.['age'] = 18
    
    // 动态添加方法
    user.move = function () {
      console.log('move')
    }

无论是属性或是方法,同一个对象中出现名称一样的,后面的会覆盖前面的。

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

遍历对象

for in

  1. 一般不用来遍历数组 主要用于遍历对象

  2. k 指 key 在循环的过程中一次代表对象的属性名

  3. 由于 k 是变量所以必须使用 [] 语法解析

  4. k 是获得对象的属性名 对象名[k] 是获得属性值

例:

let obj = {
             name: '张三',
             age: 18,
             gender: '男'
         }
         for(let k in obj){
            console.log(k);  //属性名
            console.log(obj[k]); //属性值
         }

内置对象

console其实就是 JavaScript 中内置的对象,该对象中存在一个方法叫 log,然后调用 log 这个方法,即 console.log()

除了 console 对象外,JavaScript还有其它的内置的对象,如documen.write()alert()

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)  

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

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

Math.pow,幂方法

// 求某个数的多少次方
Math.pow(4, 2) // 求 4 的 2 次方
Math.pow(2, 3) // 求 2 的 3 次方

Math.sqrt,平方根

// 求某数的平方根
Math.sqrt(16)

 注:在MDN中搜索  Math  有更多更详细的Math属性及方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值