位置: 编程技术 - 正文

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

发布时间:2024-02-27

推荐整理分享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时间转换方法(详解中国女足出线形势)

  • 一般纳税人的认定时间
  • 增值税小规模纳税人认定标准
  • 从租计征房产税低于从价计征房产税
  • 采用现金支付
  • 小企业外币交易的类型有哪些
  • 工程建设期间发生的业务招待费
  • 领用自产产品用于职工食堂
  • 分公司的税收机关在总公司还是分公司
  • 一般纳税人建账建几本帐
  • 个人所得税交税怎么交的
  • 普通增值税发票是否可以抵扣?
  • 不达起征点收到销售额如何作分录?
  • 空调减值损失属于什么科目?
  • 收到供应商发票的会计处理怎么做?
  • 营业执照首次年报
  • 增值税开票员的岗位职责
  • 财税〔2017〕39号商业健康保险个人所得税
  • 维修费和配件能抵税吗
  • 企业转租房屋如何开票
  • 1697509310
  • 普通发票也属于增值税发票吗
  • 联营企业分得的利润应计入什么科目
  • 预存电费余额是什么意思
  • excel合并的单元格怎么填充序列
  • 外汇账户怎么开
  • 监事会成员是什么人
  • php表单系统源码
  • 报销差旅费怎么算
  • phpcrawl
  • 当月计算的增值税怎么算
  • 如何解决焦虑
  • 旧房屋转卖的协议怎么写
  • php定时发送邮件
  • 房地产开发企业分为几个等级
  • python处理数据教程
  • 应收账款周转率下降说明什么
  • 小微企业所得税如何填报
  • 科目汇总表一张不够怎么写下一页
  • 资产负债表的编制原理
  • 企业送员工礼品怎么分享给团队
  • 证券公司收益凭证管理办法
  • Mysql数据库分库分表语句
  • 典当行借款合同需交印花税吗
  • 房地产会计开发工资高吗
  • 收政府的慰问金合法吗
  • 外单位替本单位缴纳社保
  • 工会经费计提基数包括福利费吗
  • 实收资本未到位
  • 政府会计制度之1613在建工程
  • 客户要赔偿怎么回复
  • 预付卡发票能不能走福利账户
  • 企业计提增值税怎么写
  • 主营业务成本的增加在哪一方
  • SQL Server Table中XML列的操作代码
  • gentoo linux优点
  • 跳线短路
  • linux计划任务怎么写
  • WinCfg32.exe - WinCfg32是什么进程
  • macbookpro查看硬盘
  • Windows tips小技巧
  • centos7rz
  • centos 做bond
  • pcalc是什么软件
  • 搜狗浏览器2019版本
  • android4.4w
  • dos批处理教程
  • python迭代器的作用
  • 高效的python
  • 批处理自动确定
  • css 定位
  • unity xcode
  • 雷爵电动车官网
  • jquery网页制作
  • 用持久的喷剂有副作用吗
  • python读写segy数据
  • 保险公司代收2.8万
  • 车辆保险开增值税吗
  • 农村报账员的基本职责
  • 营销服务协议书范本
  • 公司财税知识
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号