关于JS中基本类型与引用类型(含instanceof和typeof)

JavaScript包含六种基本数据类型:Unknown、Null、Boolen、String、Number和Symbol。
这些类型是按值访问的,这意味着它们直接存储在实际变量中,并且可以操作它们的值,但不能添加属性或方法。
基本类型变量存储在堆栈区域中,堆栈区域位于内存中,包含变量标识符和值。
引用类型分为三种类型:对象、数组和函数。
它们实际上是由不同的构造函数创建的对象。
例如,通过数组构造函数创建一个空数组a。
通过修改Array构造函数的原型对象,添加名为ceshi的方法,然后使用a实例对象执行该方法,即可成功打印结果。
这证明了Array对象的存在。
引用类型数据通过引用来访问,允许随时通过修改原型链来调整其属性和方法。
存储引用类型值需要栈和堆的配合。
栈区在堆内存中存储变量标识符和对象指针,而堆内存则存储对象。
例如,当将变量b打印为[1,2,3,4]并使用a复制b时,实际上是复制了指针,使a和b指向同一内存中的对象。
改变其中一个,另一个也会改变,因为它们共享同一个数组对象。
引用类型之间的比较基于指针,而基元类型之间的比较基于值。
typeof用于指定数据类型。
语法为typeofa,可以直接获取a的数据类型。
对于引用数据类型,使用typeof的结果始终是一个对象。

js的基本数据类型有哪些

js的基本数据类型如下:1、Number:数字类型,包括整数和浮点数,如42或3.14159。
JavaScript中的所有数字都存储为64位浮点数,即使它们看起来像整数。
2、String:字符串类型,用于表示文本数据,如“Hello,World!”。
字符串是可以用单引号或双引号括起来的字符序列。
3.Boolean:布尔类型,只有两个值:true和false。
4.Null:只有一个空值,表示空值或不存在的对象。
5.未定义:只有一个未定义值。
当声明变量但未为其赋值时,其值是未定义的。
6.Symbol(ES6新增):表示唯一且不可变的原始值,通常用作对象的属性键。
每个符号值都是唯一的。
除了上面提到的基本数据类型之外,JavaScript中还有一种复杂的数据类型,即Object。
对象是一种复合类型,可以包含多个值作为属性,并且可以包含其他对象。
函数也是JavaScript中对象的一种特殊形式。