1/4
腾讯频道 - 前端开发基础知识 - 基本类型和引用类型
腾讯频道 - 前端开发基础知识 - 基本类型和引用类型
腾讯频道 - 前端开发基础知识 - 基本类型和引用类型
腾讯频道 - 前端开发基础知识 - 基本类型和引用类型
基本类型和引用类型

基本类型
基本类型: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进行比较,结果就是true了
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); // 字符串值相同,true

let person1 = {};
let person2 = {};
console.log(person1 == person2); // 两个对象的堆内存中的地址不同,false
3.引用类型的值是同时保存在栈内存和堆内存中的对象
javascript和其他语言不同,其不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间。

实际上,是操作对象的引用,所以引用类型的值是按引用访问的。准确地说,引用类型的存储需要内存的栈区和堆区(堆区是指内存里的堆内存)共同完成,栈区内存保存变量标识符和指向堆内存中该对象的指针,也可以说是该对象在堆内存的地址。
#前端
2024-10-28
浏览64
登录后评论
评论
分享