对象的总结

概述

对象是引用数据类型,可以同时保存不同类型的属性和方法,保存在堆内存中,有自己的空间和地址,通过地址找到对象.

对象的类型
对象是引用数据类型…

引用数据类型的存储方式
存放在堆内存中.

对象的作用
可以保存多种不同数据类型的属性和方法

对象的存放位置
对象保存在堆内存里面,每个对象都有自己的空间和地址,最终通过地址找到对象实例.
变量保存的是对象地址.

对象属性与方法的本质
就是变量与函数,在对象中叫做属性与方法.

基本数据类型只能保存单一类型的值

对象类型

1.内置对象
指ES提供的对象
开发者可以直接使用.

2.宿主对象
所有的BOM DOM都是宿主对象

3.自定义对象
开发人员自定义的对象

4.原型对象
每个函数都有一个原型对象,每个实例都可以访问到原型对象.原型对象用于存放一些公用属性方法让实例使用.

访问对象会执行的流程
首先会在对象自身中找属性或者方法,找到就执行,没找到就进入原型链找,不管是在哪一层原型,找到就执行,如果都没找到会在Object对象也就是原型链的终点结束.

objectSelf → 原型链 → Object

Object对象是所有原型的原型.所以Object之后没有原型了.

对象语法

一.创建对象
1.字面量创建对象
var obj = {
属性1: 值1,
属性2: 值2
}
特点:可以在花括号中直接初始化属性方法.属性方法用:接收值
如果需要创建大量对象,这种方式需要写大量代码,不推荐.

2.工厂方法创建对象
function App(形参值1,形参值2) {
const obj = new Object();
属性1= 形参值1;
属性2= 形参值2;
return obj;
}
const App = App(实参1,实参2)
特点:通过传参保证属性值的灵活性,批量生产对象比字面量的方法更简单.
但所有对象都是用构造函数创建,最后对象都是Object类,区分不开.不推荐.

3.构造函数
构造函数创建对象:
使用new调用.

构造函数的执行过程

  • 创建一个新的对象.
  • 将新对象设置为函数中的this,在构造函数中用this引用该对象赋值.
  • 逐行执行代码
  • 返回该对象

构造函数的类
调用构造函数会创建一个类,使用同一构造函数创建的对象属于一类对象
这些对象又叫该类的实例.
所有对象都是Object的后代,所有对象检查时都返回true
有了对象实例,才可以调用/操作对象

2.添加/修改属性值
对象.属性 = ‘值’

3.读取对象属性值
对象.属性
注:如果读取没有的属性,返回undefined

4.删除对象属性
delete 对象,属性

枚举对象成员
for(let i in obj){}

栈内存和引用数据类型

栈内存
栈内存用于存放基本数据类型,为每个变量提供一个独立的内存空间,变量之间的值不互相影响.

堆内存
堆内存用于保存对象,每创建一个对象实例,就会在堆内存中开辟一块空间,该空间有自己的地址.
接收对象的变量实际是接收的这个内存地址.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值