手摸手系列 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 不是对象,而是基本数据类型的一种

感谢

JavaScript 深入了解基本类型和引用类型的值

JS JS
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!