javascript中的原始值和复杂值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中的原始值和复杂值相关的知识,希望对你有一定的参考价值。
前面的话
javascript的数据类型可以分为两种:原始类型(基本类型或者简单类型)和引用类型。
原始类型:Undefined,Null,Boolean,Number,String五种;
引用类型:Object,Array,Function;
与此相对应的,它们的值分别被称为原始值和复杂值。
特性
原始值
原始值是表示javascript中可用的数据或信息的最底层的形式或者最简单的形式。原始类型的值被称为原始值,因为它们的值是不可被细化的。也就是说,数字是数字,字符串是字符串,布尔值是true和false,Undefined和Null是undefined和null。这些值很简单,不能表示由其他值组成的值。
原始值明显的特征是不可更改,任何方法无法改变一个原始值。
var s = "hello"; s.toUpperCase(); console.log(s); //"hello"
复杂值
复杂值可以有很多种不同类型的javascript对想组成,复杂对象可以包含任何值,而不是一个特定的已知值。
对象和原始值不同,它们是可变的,它们的值是可以修改的。
var 0 = {x:1}; o.x = 2; o.y = 3; console.log(o.x); // 2; console.log(o.y); // 3;
存储方式
栈存储
因为原始值占据空间固定,是简单的数据段,为了便于提升变量的查询速度,将其存储在栈(stack)中。
堆存储
由于复杂值的大小会发生改变,所以不能将其存放于栈中,否则会降低变量的查询速度,因此存放在堆(hack)中,存储在变量处的值是一个指针,指向存储对象的内存处。
以上是关于javascript中的原始值和复杂值的主要内容,如果未能解决你的问题,请参考以下文章