基本类型基本类型:undefined、null、string、number、boolean、symbol
特点
1.基本类型的值是不可变得
//任何方法都可以使用基本类型值let name='jay '; name.toUpperCase (; //输出' Jay'console.log(name ); //输出' jay' 2.基本类型的比较是值的比较
//仅在这些值相等时等于let a=1; let b=true; console.log(a==b; 将//true//用==比较两个不同类型的变量会进行几种类型的变换。 //首先将true转换为数字1并与数字1进行比较,结果为3.基本类型的变量是存放在栈区的(栈区指内存里的栈内存)
引用类型引用类型:Object、Array、RegExp、Date、Function等
引用类型也可以称为对象。 对象是属性和方法的集合。 这意味着引用类型具有属性和方法,属性可以包含基本类型和引用类型。
特长
1 .代码类型值是可变的
//可以在引用类型中添加属性和方法,也可以删除属性和方法;let person={ name: 'pig' }; person.age=22; person.sayName=()=console.log ) Person.name; person.sayName (; //'pig'delete person.name;2.引用类型的比较是引用的比较
let person1='{} '; let person2='{} '; console.log(Person1==Person2); //字符串值相同,truelet person1={}; let person2={}; console.log(Person1==Person2); //两个对象在堆内存中的地址//不同,false 3.引用类型的值是同时保存在栈内存和堆内存中的对象
与其他语言不同,javascript不允许直接访问内存中的位置。 这意味着您不能直接操作对象的内存区域。
实际上,因为是对对象进行操作的引用,所以引用类型的值是按引用访问的。 确切地说,引用存储要求内存的堆栈区域和堆区域(堆区域是指内存中的堆内存)一起完成。 堆栈区域的内存包含变量标识符和指向堆内存中该对象的指针,也可以说该对象是堆内存中的地址。