美文网首页
普通类型和对象的区别

普通类型和对象的区别

作者: LqZww | 来源:发表于2019-04-24 20:08 被阅读0次

JavaScript里的数据类型分为7种,分别为:number、string、boolean、null、undefined、symbol、object。

其中简单类型有:number、string、boolean、null、undefined、symbol;复杂类型有:object。

内存:

当我们打开浏览器时,会占用一些内存,浏览器会把内存分布给网页,然后会分配给html、css、js、网络还有插件等等。

JS引擎得到的内存又会分布给代码区和数据区。在数据区里又分Stack栈内存、Heap堆内存。简单类型的数据会被存在Stcak栈内存里,复杂类型的数据是把 Heap 地址存在 Stack 里。

关于内存的相关题目:

①请问a等于多少?

答:a = 1

②请问a.name等于多少?

答:a.name = 'a'

③请问a.name等于多少?

答:a.name = 'b'

④请问a等于多少?

答:a= { name: 'a' }


GC垃圾回收机制

这个页面用完了的内存,还给浏览器,浏览器再给别的页面。

如果一个对象没有被引用,它就是垃圾,将被回收。

例:

请问fn是不是垃圾?

答:不是。

假如把页面关了,那fn是不是垃圾呢?

答:是,因为把页面关了,document就不存在了,也就是说这个内存中没有document对象。

但是在IE里有bug,它认为上图中10、20、30这三个东西不是垃圾,会把这些一直留着,只要不把整个网页关掉,就会一直存在着。

如何解决呢?

我们需要把所有的事件监听置为null。

内存泄漏:由于浏览器的一些bug,使得该被标记为垃圾的东西,没有被标记为垃圾,然后内存就会被永久的占用着,除非你把整个浏览器给关了。

相关文章

  • 普通类型和对象的区别

    本篇文章将主要介绍普通类型与对象在内存中储存方式的不同,也正因为这种不同,导致普通类型和对象在JS的使用中存在着一...

  • 普通类型和对象的区别

    JavaScript的7种数据类型中,number、string、boolean、null、undefined、s...

  • 普通类型和对象的区别

    简单类型:number、string、boolean、undefined、null、symbol复杂类型(引用类型...

  • 普通类型和对象的区别

    1.Chrome 打开即占用 1G 内存2.Chrome 各每个网页分配一定数量的内存3.这些内存要分给页面渲染器...

  • 普通类型和对象的区别

    JavaScript的7种数据类型中,number、string、boolean、null、undefined、s...

  • 普通类型和对象的区别

    JavaScript里的数据类型分为7种,分别为:number、string、boolean、null、undef...

  • 普通类型和对象的区别

    1 其他类型变字符串 方法一:String( )函数(这是一个全局函数) 方法二:x + " "(与空字符串相加)...

  • 简述普通类型和对象的区别

    简单类型:number、string、boolean、undefined、null、symbol复杂类型(引用类型...

  • 2018-07-05

    javascript 普通类型和对象的区别 1、基本数据类型和引用数据类型ECMAScript包括两个不同类型的值...

  • 基本类型和对象的区别

    这篇文章主要介绍JS中基本类型与对象之间的区别。 对象包括普通对象,数组以及函数。普通对象是基本类型的混合,同时其...

网友评论

      本文标题:普通类型和对象的区别

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