web前端开发:js中object储存

举报
zhousn 发表于 2020/08/09 23:31:21 2020/08/09
【摘要】 一、什么是object我们先来看object是如何进行定义的"无序属性的集合,其属性可以包括基本值、object或者函数",object是一组没有特定顺序的的值。object的每个属性或方法都有一个名字,每个名字都映射到一个值。简单来理解object就是由属性和方法来组成的二、面向object的特点封装对于一些功能相同或者相似的代码,我们可以放到一个函数中去,多次用到此功能时,我们只需要调用...

一、什么是object

我们先来看object是如何进行定义的

"无序属性的集合,其属性可以包括基本值object或者函数",object是一组没有特定顺序的的值。object的每个属性或方法都有一个名字,每个名字都映射到一个值。

简单来理解object就是由属性和方法来组成的

二、面向object的特点

封装

对于一些功能相同或者相似的代码,我们可以放到一个函数中去,多次用到此功能时,我们只需要调用即可,无需多次重写。

在这里我们可以理解为创造object的几种模式:单例模式,工厂模式,构造函数模式,原型模式等。

继承  子类可以继承父类的属性和方法

多态(重载和重写)

  • 重载:严格意义上说js中没有重载的功能,不过我们可以通过判断函数的参数的不同来实现不同的功能来模拟重载。

  • 重写:子类可以改写父类的属性和方法

三、在js中与object有关系的内存区域有四部分组成:

堆空间, 栈空间,数据空间,代码空间。

1. 栈空间
存放的数据大小比较小,一般固定大小的信息适合存放在该空间,例 如整型、boolean、对象的引用(名称)。
2. 堆空间
该空间存储的数据比较多,空间较大,一般数据长度不固定的信息在该空间存放,例如: string、Array、对象实体。
3. 数据空间
该空间存放常量、类的静态属性。
4. 代码空间
存放函数体、方法体代码。


简单类型和复杂类型的区别

基本类型又叫做值类型,复杂类型又叫做引用类型

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

引用类型:复杂数据类型,在存储是,变量中存储的仅仅是地址(引用),因此叫做引用数据类型。

堆和栈

堆栈空间分配区别:
1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。 
2、堆(操作系统): 存储复杂类型(object),一般由程序员分配释放, 若程序员不释放,由垃圾回收机制回收。

注意:JavaScript中没有堆和栈的概念

 

基本类型在内存中的存储


复杂类型在内存中的存储


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。