手摸手系列 JavaScript 必知必会
本文题目搬运
前端荣耀
小程序
开始
1. 原始类型有哪几种? null 是对象吗?基本数据类型和引用类型在存储上的差别?
原始类型
number string boolean null undefined symbol
原始类型也称基本数据类型 原始数据的值是不可变的 存储在栈内存Stack
里的
var str = 'hello'
str[0] = 't'
console.log(str) // hello
var a = 1;
var b = true;
console.log(a == b); // true 自动进行了数据类型的 隐式转换
console.log(a === b); // false
引用类型 统称 Object
Object Array Date RegExp Function
引用类型的值是按引用访问的并且是可变的
栈内存 Stack
中保存了变量标识符和指向堆内存中该对象的指针
堆内存Heap
中保存了对象的内容
var obj = {name:"zyj"} // {name: "zyj"}
obj.name = "percy" // {name: "percy"}
var obj1 = {}; // 新建一个空对象 obj1
var obj2 = {}; // 新建一个空对象 obj2
console.log(obj1 == obj2); // false
console.log(obj1 === obj2); // false
null
不是对象 是原始类型 [这是个历史遗留bug]()。
typeof(null) // 返回的值是 object, 但是 null 不是对象,而是基本数据类型的一种
感谢
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: