位置: 编程技术 - 正文

JavaScript中的原始值和复杂值(js原型作用)

编辑:rootadmin

推荐整理分享JavaScript中的原始值和复杂值(js原型作用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript原型对象,js的原型,javascript的原型,原型链,有什么特点?,js中的原型是什么,javascript中的原型和原型链,javascript中的原型和原型链,javascript中的原型和原型链,javascript原型,内容如对您有帮助,希望把文章链接给更多的朋友!

前面的话

  javascript的数据类型可以分为两种:原始类型和引用类型。原始类型也称为基本类型或简单类型,javascript基本数据类型包括Undefined、Null、Boolean、Number和String五种,而引用类型也称为复杂类型,在Javascript中是Object。与此相对应,它们的值也分别被称为原始值和复杂值

特性

原始值(primitive value)

简单的说:原始值是固定而简单的值,是存放在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置.

  原始值是表示Javascript中可用的数据或信息的最底层形式或最简单形式。原始类型的值被称为原始值,是因为它们是不可细化的。也就是说,数字是数字,字符是字符,布尔值则是true或false,null和undefined就是null和undefined。这些值本身很简单,不能表示由其他值组成的值

有哪些类型是原始类型呢?

原始类型(primitive type)有以下五种类型:Undefined,Null,Boolean,Number,String

我们可以使用typeof来判断一个是否在某个类型的范围内.

typeof运算符

对变量或值使用typeof运算符将会返回下列值之一:

注意:

1.返回值为字符串类型.

2.和原始类型比,还差了个null,这个比较特殊,使用typeof(null),返回的是"object",我们将null理解成是object的占位符.

复杂值

  复杂值可以由很多不同类型的javascript对象组成。复杂对象其在内存中的大小是未知的,因为复杂对象可以包含任何值,而不是一个特定的已知值

JavaScript中的原始值和复杂值(js原型作用)

存储方式

栈存储

  因为原始值占据空间固定,是简单的数据段,为了便于提升变量查询速度,将其存储在栈(stack)中

堆存储

  由于复杂值的大小会改变,所以不能将其存放在栈中,否则会降低变量查询速度,因此其存储在堆(heap)中,存储在变量处的值是一个指针,指向存储对象的内存处

访问方式

按值访问

  原始值是作为不可细化的值进行存储和操作的,引用它们会转移其值

引用访问

  复杂值是通过引用进行存储和操作的,而不是实际的值。创建一个包含复杂对象的变量时,其值是内存中的一个引用地址。引用一个复杂对象时,使用它的名称(即变量或对象属性)通过内存中的引用地址获取该对象值

比较方式

  原始值采用值比较,而复杂值采用引用比较。复杂值只有在引用相同的对象(即有相同的地址)时才相等。即使是包含相同对象的两个变量也彼此不相等,因为它们并不指向同一个对象

动态属性

  对于复杂值,可以为其添加属性和方法,也可以改变和删除其属性和方法;但简单值不可以添加属性和方法

  复杂值支持动态对象属性,因为我们可以定义对象,然后创建引用,再更新对象,并且所有指向该对象的变量都会获得更新。一个新变量指向现有的复杂对象,并没有复制该对象。这就是复杂值有时被称为引用值的原因。复杂值可以根据需求有任意多个引用,即使对象改变,它们也总是指向同一个对象

包装类型

  原始值被当作构造函数创建的一个对象来使用时,Javascript会将其转换成一个对象,以便可以使用对象的特性和方法,而后抛弃对象性质,并将它变回到原始值

详解JavaScript UTC时间转换方法 一、前言1、UTC:UniversalTimeCoordinated,协调世界时。2、格林尼治标准时(GMT)格林尼治标准时间(GreenwichMeanTime,GMT)是指位于伦敦郊区的皇家格林尼治

7个去伪存真的JavaScript面试题 下面这7个JavaScript面试问题是你应该在面试前先问的。否则,很有可能会浪费你的时间。1.创建JavaScript对象的两种方法是什么?这是一个非常简单的问题

JavaScript类型系统之Object详解 前面的话在javascript中,对象为王;Javascript里的几乎所有东西都是对象或者用起来像对象。理解了对象,就理解了Javascript。在javascript中,引用类型是一

标签: js原型作用

本文链接地址:https://www.jiuchutong.com/biancheng/384742.html 转载请保留说明!

上一篇:理解JS事件循环(js事件循环过程)

下一篇:详解JavaScript UTC时间转换方法(详解中国女足出线形势)

  • 公司车保险费用高么
  • 湖南个税申报系统app
  • 商场购物卡的会员怎么用
  • 信息技术服务可以简易征收吗
  • 起重机属于固定资产哪个类别
  • 设备采购及安装属于工程还是货物
  • 进项税未抵扣进账了怎么处理
  • 购买汽车的保健因素
  • 发票服务名称都有什么
  • 利息支出没有发票怎么做账
  • 持有的汇票到期后怎么办
  • 春节汽车租赁
  • 开给别的公司的支票可以转给其它人去抵账?
  • 汽车修理厂可以安装车牌吗
  • 增值税专用发票抵扣期限
  • 独资企业个人所得税汇算清缴
  • 实务操作中的税会差异有哪些?
  • 房租费可以计入研发费用加计扣除吗
  • 如果月初忘记抄税直接开票怎么办
  • 制造业销售费用率多少合适
  • macos的复制粘贴快捷键
  • 持有公司股票是股东吗
  • 外购货物用于建造厂房可以抵扣进项税吗
  • php测试成功的邮件是什么
  • 挂账多年的往来账怎么处理
  • 开展党建系列活动
  • 单位交社保是不是比个人交社保以后退休金要多
  • 公司员工生病看望的红包能入公司账吗
  • 增值税专用发票有几联?
  • 设置pin是什么意思
  • php7异常处理
  • 对外支付代扣代缴附加税享受减免吗
  • 完美解决显卡利用率低
  • labview oop
  • 深度学习参数初始化(二)Kaiming初始化 含代码
  • 为什么盈余公积减少,未分配利润增加
  • sql如何设置远程连接
  • db2自增函数
  • 分期收款开发票
  • 补缴以前年度的印花税会计分录
  • 一般纳税人金税盘怎么清卡
  • 房屋租赁水电费计入什么科目
  • 自产商品对外赠送
  • 社会保险中断后还可以续保吗
  • 以前多计提的税款怎么办
  • 业务招待费文件
  • 补缴以前年度的税
  • 收到对方开的红字发票怎么做账
  • 银行交党费属于什么业务
  • 研发费用加计扣除比例及计算方法
  • 所得税核算的三种方法
  • 会计凭证,报告怎么做
  • mysql第四章
  • sql server常规错误
  • mysql 5.5 5.6
  • Win9传闻汇总:通知中心+免费下载+手势功能等
  • WINDOWS操作系统属于单用户任务操作系统
  • centos安装类型选择
  • warning bios upgrade
  • win阅读软件
  • macos 备份
  • scrnsave.exe
  • win7系统介绍
  • win7升级win10系统要多久
  • linux检查文件内容
  • won7系统优化
  • win8系统安装的软件在哪里
  • Unity3D ugui事件监听机制
  • android开发app
  • unity3d怎么让物体依次运动
  • Warning: Build-tool 17.0.0 is missing AAPT at F:adt-bundle-windows-x86sdk
  • python定义全局
  • 重庆车位过户需要多久时间
  • 国税电子版
  • 中国的消费税是怎么算的
  • 出口退税已提交数据撤回
  • 甘肃税务网上办税服务厅
  • 企业税务情况查询
  • 江西公积金提取代办
  • 汽车燃油税每年要交吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设