位置: 编程技术 - 正文

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

  • 价外税怎么理解
  • 个人所得税谁交
  • 期初试算平衡表不平衡怎么查
  • 发票只能全部冲开吗
  • 加工费暂估入库的会计分录
  • 个体工商户经营范围查询
  • 企业收取的租金会计分录
  • 技术转让收入纳税调整
  • 货物出口到保税区复进口
  • 财产损失税务备案
  • 预缴增值税附加税怎么算
  • 申请专利的费用如何入账
  • 负债表应交税费为负数
  • 注销时分公司欠款怎么办
  • 地下商铺出售产权归属
  • 住宿服务住宿服务可以么
  • 餐饮外卖的经营范围是什么项目
  • 把公司的钱借给别人责任
  • 企业所得税年报过了申报期还能修改吗
  • 非营利组织免税收入孳生的银行存款利息
  • 资本公积 税务
  • 如何解决浏览器禁止访问
  • 打开文件夹变成黑底
  • 政府投资农业项目
  • 收到折扣发票怎么处理
  • win11 恢复
  • 员工出差火车票可以抵扣进项吗
  • php怎么新建
  • ts与vue3.0
  • thinkphp查询版本号
  • php特性包括
  • 销售购置的房产税怎么算
  • vue的安装步骤
  • vue系列教程
  • 没有校验码的发票可以报销吗
  • python有public
  • 利息支出是利息费用减利息收入吗
  • 饭店招牌发光字
  • 账面成本与账面余额
  • 政府会计制度应收账款坏账准备
  • 工程在建工程转固清单
  • 期初建账明细账怎么建账
  • 机器设备一般折旧几年
  • 进料料件复出可以给第三方吗
  • 存货损失营业外支出
  • 其他综合收益相反科目
  • 个人发票单位能做账用吗
  • 广告费支出的税种有哪些
  • 房地产公司支付工程款账务处理
  • 运维过程
  • linux配置mysql数据库远程连接失败的解决方法
  • windows10的xbox如何录制视频
  • centos7 ethtool
  • U盘安装centos 7出现unknown chipset
  • win10 win7兼容模式
  • win101607怎么升级1903
  • win7网络不能用怎么办
  • RedHatLinux AS3中APACHE+SendMail+OpenWebMail整合
  • win8系统怎么设置无线网连接啊
  • linux操作系统入门教程
  • linux chakan
  • win7关掉wifi
  • win8.1玩游戏好不好
  • linux查看进程并杀死
  • opengl混合模式
  • 对用户输入的判断
  • unity learn
  • jquery插件ajaxupload实现文件上传操作
  • js怎么写java代码
  • nodejs使用es6
  • dos 删除文件夹下所有文件
  • unity3d脚本怎么用
  • python多线程操作
  • javascript基础教程教材答案
  • div跟随滚动条移动
  • 安置残疾人就业增值税即征即退优惠
  • 广西小学成绩查询入口官网
  • 你需要了解什么 英语
  • 国企残疾职工安置
  • 美国海外公司每年利润
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设