首页 > 编程语言 >【JavaScript】41_包装类与垃圾回收机制

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

时间:2023-03-11 11:02:37浏览次数:36  
标签:对象 JavaScript 41 包装 Boolean let 垃圾 new

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>

标签:对象,JavaScript,41,包装,Boolean,let,垃圾,new
From: https://blog.51cto.com/wujianrenn/6114282

相关文章

  • JavaScript表单
          ......
  • 设计模式-javascript实现【外观模式】
    定义:外观模式又叫门面模式,外观模式为一个系统中的子系统提供一个统一的高层接口,从而方便使用子系统。1.用类实现外观模式classCpu{install(){console.log('......
  • LeetCode|1410. HTML 实体解析器
    题目链接:1410.HTML实体解析器「HTML实体解析器」是一种特殊的解析器,它将HTML代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。HTML里这些特殊字符和它......
  • vue (或者 javascript ) 打印彩色日志
    typeAny=any/***创建console所需的style样式*@parambgColor*@paramfontColor*/constcreateStyle=function(bgColor:string,fontColor='#fff......
  • javascript | 刷新页面的方式
    方式序号方法1history.go()2location.reload()3location=location4location.assign(location.href)5location.replace(location.href)6l......
  • 541. 反转字符串II
    给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k个字符中的前k个字符。如果剩余字符少于k个,则将剩余字符全部反转。如果剩余字符小......
  • JavaScript 对象管家 Proxy
    JavaScript在ES6中,引入了一个新的对象类型​​Proxy​​​,它可以用来代理另一个对象,并可以在代理过程中拦截、覆盖和定制对象的操作。​​Proxy​​对象封装另一个对象......
  • JavaScript实现搜索联想关键字高亮功能
    <!DOCTYPEhtml><htmllang="en"> <head> <metacharset="UTF-8"> <metaname="viewport"content="width=device-width,initial-scale=1.0"> <metahttp-equiv=......
  • 【JavaScript】——input元素的oninput事件和onchange事件
    //第一种:直接在元素标签上添加oninput属性,属性值为处理事件函数的调用<inputtype="text"id="input"oninput="handleInput()"></input>functionhandleInput(){ ......
  • JAVAScript 跨平台客户端脚本语言
    前端内容三大基础性技术  Javascript是一种由Netscape(网景)的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解......