Js对象导读

发布于:2022-12-20 ⋅ 阅读:(466) ⋅ 点赞:(0)

什么是对象?

在 JavaScript 中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等。

对象是由属性方法组成的。

属性:事物的特征,在对象中用属性来表示(常用名词)

方法:事物的行为,在对象中用方法来表示(常用动词)

比如说小米手机

小米手机的屏幕大小,颜色,重量,厚度都是属性

玩游戏,发短信,听歌都是方法

为什么需要对象?

保存一个值时,可以使用变量,保存多个值(一组值)时,可以使用数组。

比如,我们以后会经常使用这种方法,这里我们先了解一下

let arr = [{},{},{},{},{}]

我们可以在数组里面声明多个对象,用对象展示数据我们JS中的对象表达结构更清晰,更强大。

利用字面量创建对象

就是花括号 { } 里面包含了表达这个具体事物(对象)的属性和方法;

let obj = {
    name:"薛之谦",
    sex:"男",
    age:28,
    height:180
}     

这里我们注意

键:相当于属性名

值:相当于属性值,可以是任意类型的值(数字类型、字符串类型、布尔类型,函数类型等)

属性和值要用 : 隔开,多个属性用,逗号隔开

对象的使用

属性--查

第二种要牢记,开发时我们会经常使用

console.log(star.name)     // 调用名字属性
console.log(star['name'])  // 调用名字属性

属性--改

语法:对象名.属性 = 新值

let zhangsan = {
    uname: '薛之谦',
    age: 18,
    gender: '女'
}
// 改 把性别的女改为男
zhangsan.gender = '男'
console.log(zhangsan)

属性--增

语法:对象名.新属性 = 新值

let zhangsan = {
    uname: '薛之谦',
    age: 18,
    gender: '男'
}
// 新增住址 address
zhangsan.address = '上海大别墅'
console.log(zhangsan)

属性--删

语法:delete 对象名.属性名

let zhangsan = {
    uname: '薛之谦',
    age: 18,
    gender: '女'
}
// 删除gender属性
delete zhangsan.gender
console.log(zhangsan)

调用对象的方法

对象.方法名()

let obj = {
    uname: '薛之谦',
    // 方法
    sing: function () {
        console.log('刚刚好')
    }
}
// 方法调用 对象名.方法名
obj.sing()

这里我们要注意他们之间的区别如下

变量:单独声明赋值,单独存在

属性:对象里面的变量称为属性,不需要声明,调用时要对象名.属性名

函数:单独存在的,通过“函数名()”的方式就可以调用

方法:对象里面的函数称为方法,方法不需要声明,使用“对象.方法名()”的方式就可以调用

 遍历对象

我们使用for...in 语句用于对数组或者对象的属性进行循环操作。

for (var k in obj) {
    console.log(k);      // 这里的 k 是属性名
    console.log(obj[k]); // 这里的 obj[k] 是属性值
}

for in 不提倡遍历数组 因为 k 是 字符串

简单数据类型和复杂数据类型

简单类型基本数据类型值类型):在存储时变量中存储的是值本身,包括string ,number,boolean,undefined,null

复杂数据类型(引用类型):在存储时变量中存储的仅仅是地址(引用),如 Object、Array、Date等;

堆栈

堆栈空间分配区别:

  1、栈(操作系统):由操作系统自动分配释放存放函数的参数值、局部变量的值等。其操作方式类似于数据结构中的栈;

简单数据类型存放到栈里面

  2、堆(操作系统):存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。

  • 简单数据类型的存储方式

    值类型变量的数据直接存放在变量(栈空间)中

  • 复杂数据类型的存储方式

    引用类型变量(栈空间)里存放的是地址,真正的对象实例存放在堆空间中

     

  • 简单数据类型的存储方式

    值类型变量的数据直接存放在变量(栈空间)中

     

  • 复杂数据类型的存储方式

    引用类型变量(栈空间)里存放的是地址,真正的对象实例存放在堆空间中

     

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到