【JavaScript】48_包装类与垃圾回收机制

简介: # 10、包装类在JS中,除了直接创建原始值外,也可以创建原始值的对象通过 new String() 可以创建String类型的对象通过 new Number() 可以创建Number类型的对象通过 new Boolean() 可以创建Boolean类型的对象- 但是千万不要这么做包装类:## JS中一共有5个包装类String --> 字符串包装为String对象Number --> 数值包装为Number对象Boolean --> 布尔值包装为Boolean对象BigInt --> 大整数包装为BigInt对象Symbol --> 符号包装为

10、包装类

在JS中,除了直接创建原始值外,也可以创建原始值的对象

通过 new String() 可以创建String类型的对象

通过 new Number() 可以创建Number类型的对象

通过 new Boolean() 可以创建Boolean类型的对象

  • 但是千万不要这么做

包装类:

JS中一共有5个包装类

String --> 字符串包装为String对象

Number --> 数值包装为Number对象

Boolean --> 布尔值包装为Boolean对象

BigInt --> 大整数包装为BigInt对象

Symbol --> 符号包装为Symbol对象

  • 通过包装类可以将一个原始值包装为一个对象,

当我们对一个原始值调用方法或属性时,JS解释器会临时将原始值包装为对应的对象

然后调用这个对象的属性或方法

  • 由于原始值会被临时转换为对应的对象,这就意味着对象中的方法都可以直接通过原始值来调用
     <script>
             // let str = new String("hello")
             // let num = new Number(11)
             // let bool = new Boolean(true)
             // let bool2 = new Boolean(true)
 ​
             // alert(bool == bool2)
 ​
             let str = "hello"
 ​
             str.name = "哈哈"
 ​
             let num = 11
             num = num.toString()
 ​
             // null.toString()
 ​
             console.log(num)
     </script>

11、垃圾回收

垃圾回收(Garbage collection)

  • 和生活一样,生活时间长了以后会产生生活垃圾 程序运行一段时间后也会产生垃圾
  • 在程序的世界中,什么是垃圾?

    • 如果一个对象没有任何的变量对其进行引用,那么这个对象就是一个垃圾
    • 垃圾对象的存在,会严重的影响程序的性能
    • 在JS中有自动的垃圾回收机制,这些垃圾对象会被解释器自动回收,我们无需手动处理
    • 对于垃圾回收来说,我们唯一能做的事情就是将不再使用的变量设置为null
     <script>
         let obj = {name:'孙悟空'}
         let obj2 = obj
 ​
         obj = null
         obj2 = null
     </script>
相关文章
|
1月前
|
JavaScript 前端开发 算法
JS垃圾回收
【10月更文挑战第30天】JavaScript 的垃圾回收机制是保证程序稳定运行的重要组成部分。了解垃圾回收的原理和算法,以及注意避免内存泄漏的问题,可以帮助开发者更好地利用 JavaScript 进行高效的开发
|
1月前
|
存储 JavaScript 前端开发
JavaScript的垃圾回收机制
【10月更文挑战第29天】JavaScript的垃圾回收机制是确保程序高效运行的重要保障,了解其工作原理和相关注意事项,有助于开发者更好地编写高性能、稳定的JavaScript代码。
|
2月前
|
存储 前端开发 JavaScript
JavaScript垃圾回收机制深度解析
【10月更文挑战第21】JavaScript垃圾回收机制深度解析
110 59
|
2月前
|
存储 JavaScript 算法
JS垃圾回收机制有哪些?
本文介绍了JavaScript中的垃圾回收(GC)机制,包括其概念、产生原因及重要性。文章详细讲解了几种常见的垃圾回收算法,如引用计数、标记清除、标记整理和分代回收,并分析了它们的优缺点。最后总结了垃圾回收对JS开发的重要作用,强调了其在自动内存管理和性能优化中的关键地位。
39 2
JS垃圾回收机制有哪些?
|
2月前
|
存储 JavaScript 前端开发
JavaScript垃圾回收机制与优化
【10月更文挑战第21】JavaScript垃圾回收机制与优化
35 5
|
3月前
|
JavaScript 前端开发 Java
JavaScript基础知识-垃圾回收
关于JavaScript垃圾回收基础知识的介绍。
38 1
JavaScript基础知识-垃圾回收
|
4月前
|
前端开发 JavaScript Java
揭开 JavaScript 垃圾回收的秘密——一场与内存泄漏的生死较量,让你的代码从此焕然一新!
【8月更文挑战第23天】本文通过多个实例深入探讨了JavaScript中的垃圾回收机制及其对应用性能的影响。首先介绍了基本的内存管理方式,随后分析了变量不再使用时的回收过程。接着,通过事件监听器未被移除及全局变量管理不当等场景展示了常见的内存泄漏问题。最后,文章介绍了使用`WeakRef`和`FinalizationRegistry`等现代API来有效避免内存泄漏的方法。理解并运用这些技术能显著提升Web应用的稳定性和效率。
94 0
|
6月前
|
JavaScript 前端开发 算法
【JavaScript】JavaScript 垃圾回收机制深度解析:内存管理的艺术
JavaScript的内存管理和垃圾回收机制涉及栈内存与堆内存、引用计数与标记-清除算法。栈内存存储基本类型和函数调用时的局部变量,而堆内存用于复杂数据类型,如对象和数组。垃圾回收主要通过标记-清除策略,处理不再被引用的对象。现代引擎如V8使用分代收集和增量标记等优化方法,减少停顿并提升性能。开发者应注意避免内存泄漏,如及时解除引用、管理DOM引用和定时器,使用WeakMap和WeakSet等。理解这些原理和最佳实践对于编写高效代码至关重要。
131 5
|
5月前
|
存储 JavaScript 算法
你真的了解JS垃圾回收机制吗?
你真的了解JS垃圾回收机制吗?
31 0
|
5月前
|
自然语言处理 前端开发 JavaScript
前端 JS 经典:闭包与内存泄漏、垃圾回收
前端 JS 经典:闭包与内存泄漏、垃圾回收
47 0