在js中 找个“对象”

183 阅读3分钟

1 什么是对象?

  • 对象(object):JavaScript里的一种数据类型
  • 可以理解为是一种无序的数据集合
  • 用来描述某个事物
  1. 静态特征 (姓名, 年龄, 身高, 性别, 爱好) => 可以使用数字, 字符串, 数组, 布尔类型等表示
  2. 动态行为 (点名, 唱, 跳, rap) => 使用函数表示

2 对象的使用

//对象的声明
let 对象名 = {}

/*函数由属性名和方法组成,属性都是成 对出现的,包括属性名和值,它们之间使用英文 : 分隔
多个属性之间使用英文 , 分隔*/

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



//例如:
let goods = { name:'小米手机' ,
                    price:'¥1000',
                    number:'100',
                    sayhi:function(){
                        document.write('你好')
                    }
                }

3 对象查询访问

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

let goods = { name:'小米手机' ,
                    price:'¥1000',
                    number:'100',
                    sayhi:function(){
                        document.write('你好')
                    }
                }
        console.log(goods.name)
        console.log(goods["price"])   //使用[],要注意加""
		console.log(goods.sayhi())  //对象访问方法使用实际是函数调用,要注意加()

4 对象的增删改查

  • 访问对象已有的属性名并在加 = 号,意味着修改对应的属性值、

  • 如访问的属性名在对象中没有对应的,则新建一个并且属性值为undefined,加等于号,则可以赋予新值

  • 在访问的属性名前面加delete便可以删除该属性。

let goods = { name:'小米手机' ,
                    price:'¥1000',
                    number:'100',
                    sayhi:function(){
                        document.write('你好')
                    }
                }
                
                goods.color='red'   //新增
                delete goods.number   //删除
                goods.price='¥1999' //修改
                goods.sayhi()    //访问
                console.log(goods["price"])

5 遍历对象

  • 与遍历数组类似,但对象没有length长度的属性,且对象里都是无序的键对值。
  • 一般使用 for in来遍历对象
  let obj ={name :'小王',height:'172cm',weight:'70kg'}
        obj.number ='10'     //新增
        obj.height ='180cm'  //修改
        for(let k in obj){
            console.log(k)    //k 是获得对象的属性名  ,可以自定义
            console.log(obj[k])  //对象名[k] 是获得 属性值
        }

6 内置对象

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

6.1 Math数学运算对象random:生成0-1之间的随机数(包含0不包括1)

  1. ceil:向上取整
  2. floor:向下取整
  3. max:找最大数
  4. min:找最小数
  5. pow:幂运算
  6. abs:绝对值
 		console.log(Math.random())  //随机生成0-1的随机数
        console.log(Math.ceil(1.5))  //向上取整
        console.log(Math.max(1,2,3,4,54,3))  //最大值
        console.log(Math.min(1,2,3,4,54,3))  //最小值
        console.log(Math.pow(2,3))  // 幂运算  8
        console.log(Math.abs(-5))  // 绝对值
        console.log(Math.round(5.6))  // 四舍五入

6.2 生成随机数

6-2-1 生成0-10的随机数

Math.round(Math.random() * (10 + 1))

6-2-2 生成M-N之间的随机数

Math.round(Math.random() * (M - N + 1)) + N
function randomNumber(num1,num2){
           return Math.round(Math.random()*(num2-num1)+num1)
        }

7 拓展-基本数据类型与引用数据类型

简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型。

  • 值类型:简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型

    string ,number,boolean,undefined,null,

    • 简单数据类型存放到栈里面
  • 引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型

    通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date,函数等

    • 引用数据类型存放到堆里面

      简单数据类型直接存放在变量(栈空间中),引用数据类型在栈里存放的是地址,而地址指向真正存放数据的堆空间

1648909315451.png

1648909337606.png