美文网首页
JS中的基本数据类型与所在内存空间那些事

JS中的基本数据类型与所在内存空间那些事

作者: 108N8 | 来源:发表于2017-04-26 10:04 被阅读183次

一、内存空间

为了便于理解,我们暂且先将Js的内存分为栈内存和堆内存。

JavaScript具有垃圾自动回收机制,内存的分配与回收都完全实现了自动管理。所以我们在开发时一般会忽视内存空间的问题。但是理解了内存空间,将会对JS理解更加深刻,认识也更加清晰。
  JavaScript有自动垃圾收集机制,那么这个自动垃圾收集机制的原理是什么呢?其实很简单,就是找出那些不再继续使用的值,然后释放其占用的内存。垃圾收集器会每隔固定的时间段就执行一次释放操作。
  内存的生命周期:分配内存,使用内存,释放内存

二、数据类型

js中的数据类型: Function,Undefined,String,Boolean,Null , Number
5种基本数据类型: Undefined,String,Boolean,Null , Number

简单记忆方式:
基本数据类型 => usbnb(最后一个b的Number)
数据类型 => fusbnb

基本类型是不可变的!任何方法都无法改变一个基本类型的值。也不可以给基本类型添加属性或者方法。但是可以给obj或者数组添加新的方法。
var person = 'datura';
person.age = 18;
person.method = function(){//...};
console.log(person.age); // undefined
console.log(person.method); // undefined
基本数据类型存放于栈内存。包括变量标识符和变量的值。
var name = 'datura';
var job= '搬砖的';
var age = 18;
引用数据类型:Object,Array

可以为引用类型添加属性和方法,也可以删除其属性和方法(delete person.name)。
引用类型的存储需要内存的栈区和堆区共同完成,栈区内存保存变量标识符和指向堆内存中该对象的指针,也可以说是该对象在堆内存的地址,而堆内存中存储这个对象。

 var person1 = {name:'datura'};
 var person2 = {name:'blue'};
 var person3 = {name:'green'};

三、数据比较

1、对于基本类型,==和===是有区别的
    1)不同类型(如Number和String)间比较,==之间比较,先转化成同一类型,看“值”是否相等,===如果类型不同,其结果就是不等
    2)同类型比较,直接进行“值”比较

2、对于引用类型,==和===是没有区别的
    都是进行“指针地址”比较

3、基本类型与引用类型比较,==和===是有区别的
    1)对于==,将高级转化为基础类型,进行“值”比较
    2)因为类型不同,===结果为false

四、赋值

基本类型赋值后两个变量互不影响
var a = 10;
var b = a;
引用类型的赋值是地址的复制,所以两个变量指向的还是同一个对象,对任何一个的操作都会相互的影响。
var a = {};
var b = a; 

相关文章

  • JS中的基本数据类型与所在内存空间那些事

    一、内存空间 为了便于理解,我们暂且先将Js的内存分为栈内存和堆内存。 JavaScript具有垃圾自动回收机制,...

  • js传参之值传递

    js数据存储方式 js中基本数据类型是存放在栈中;引用数据类型存在堆中,栈中会有一个内存空间存放引用数据类型的地址...

  • JS内存空间与闭包

    一、JS内存空间 JS有7种数据类型:基本数据类型(Boolean、String、Number、undefined...

  • {}=={},{}==!{}与[]==[],[]==![]

    js中基本数据类型和引用数据类型基本类型:存放在栈内存中,数据大小确定,内存空间大小可以分配引用类型:存放在堆内存...

  • JS数据类型判断

    js中可以通过typeof来判断基本的数据类型。 数据类型 js的数据类型分为基本数据类型和引用数据类型,基本数据...

  • 大连滕泰科技学习笔记2020-06-02

    1,项目组六 JS的特点有那些?JS的基本数据类型有那些?numberstringbooleannulllunde...

  • 2022前端面试题汇总(附答案)更新中

    JS相关 1.JS中的数据类型 (1)数据类型分为基本数据类型和引用数据类型基本数据类型:number、null、...

  • JS 高频面试题汇总

    # 说一下JS 中的数据类型有哪些 JS 数据类型包括 基本 / 引用 / 特殊 数据类型: 基本数据类型:Str...

  • 作用域与this

    作用域与 this 一、作用域 1.1 JS 中的内存空间分为两种: 栈内存:提供 js 代码的执行环境;存储基本...

  • JS 面试题汇总

    说一下JS 中的数据类型有哪些 JS 数据类型包括 基本 / 引用 / 特殊 数据类型: 1.基本数据类型:Str...

网友评论

      本文标题:JS中的基本数据类型与所在内存空间那些事

      本文链接:https://www.haomeiwen.com/subject/wbtizttx.html