当前位置: 首页 > news >正文

网站制作难不难百度收录平台

网站制作难不难,百度收录平台,做外包的网站有哪些,易语言可以做网站嘛WeakMap简介 作为es6一种新的数据结构,他是一种键值对的集合。与Map最大的区别有两个 1. 是其中的键必须是对象或非全局注册的符号。 全局注册的符号 const s1 Symbol.for(mySymbol) 非全局注册的符号 const s1 Symbol(mySymbol)了解Symbol.for 2. 不会创建对它…

WeakMap简介

作为es6一种新的数据结构,他是一种键值对的集合。与Map最大的区别有两个

1. 是其中的键必须是对象或非全局注册的符号。

全局注册的符号
const s1 = Symbol.for('mySymbol')
非全局注册的符号
const s1 = Symbol('mySymbol')

了解Symbol.for

2. 不会创建对它的键的强引用

不会像变量一样随着作用域的销毁而被清除就是强引用

一个对象作为 WeakMap 的键存在,不会阻止该对象被垃圾回收。当该对象的所有强引用都销毁时,该对象的弱引用也随之自动被清除。那么就会在 WeakMap 中相应的值便成为了进行垃圾回收的候选对象,只要它们没有其他的引用存在。

我们使用Map做下简单对比

let map = new Map()
let key = { name: 1 }
map.set(key, '我的键是一个对象')
key = null
setTimeout(() => {console.log(map) //无论延迟多久,map里面的键值对都会存在
}, 10000);
let wMap = new WeakMap()
let key2 = { name: 1 }
wMap.set(key2, '我的键是一个对象')
key2 = null
setTimeout(() => {console.log(wMap)  //会被浏览器的回收机制回收(测试edge浏览器十秒回收),WeakMap里面的键值对已经清空。
}, 10000);

可以看到在使用Map创建的对象里,即使key对象和map对象已经没有任何地方使用,甚至我们将key设置为了null,但是在内存里,{name: 1}依旧会存在,因为在map对象中的键依旧对它有着强引用的关系。

而我们使用的WeakMap创建的对象,当我们将key2设置为bull后,因为wMap的键是弱引用的关系,所以该键值会直接被垃圾回收机制回收,该键值对会直接被清除。

常见方法

delete
删除任何与 key 关联的值。删除之后,WeakMap.prototype.has(key) 将会返回 false。

get
返回与 key 关联的值,如果不存在则返回 undefined。

has
返回一个布尔值,断言某个值是否已经与 WeakMap 对象中的 key 关联。

set
给 WeakMap 对象中的 key 设置 value。返回该 WeakMap 对象。

应用场景

  1. Vue 3 的响应式系统使用了 Proxy 对象来拦截对响应式对象的访问,然后在内部使用 WeakMap 来跟踪对象与其对应的副作用(例如渲染函数或侦听器)。这样,当响应式对象发生变化时,Vue 3 可以根据这些依赖关系自动进行更新。
    通过 WeakMap,Vue 3 实现了一种弱引用关系,这意味着如果一个对象不再被其他地方引用,它将被垃圾回收机制自动回收,同时也会自动清理相应的依赖关系。

  2. WeakMap还常常被用来保存对象的私有数据。这是因为WeakMap的键不可遍历,所以我们可以利用这个特性来存储一些只有特定代码能够访问的数据。

上面是一个人们经常拿来说明WeakMap应用场景的一个方法,但实际上描述并不完全正确。
实际上WeakMap 方式定义私有属性的主要作用是保护属性的名称,防止和其他实例的同名属性发生冲突。但不能保证属性的值不被修改。使用getPrivateVal方法外还可以直接使用privateData.get(obj)的方式进行访问甚至对值进行修改。

  1. 曾经看到使用WeakMap进行栈的模拟实现
let Stack = (function(){let items = new WeakMap()class Stack {constructor () {items.set(this, [])}pop () { // 出栈return items.get(this).pop()}push (v) { // 入栈items.get(this).push(v)}peek () { // 获取当前栈顶return items.get(this)[items.get(this).length - 1]}size () { // 栈长度return items.get(this).length}isEmpty () { // 栈是否为空return items.get(this).length === 0}clear () { // 清空栈items.get(this).length = 0}}return Stack
})()

文章转载自:
http://wanjiavesicular.jtrb.cn
http://wanjiaperfectible.jtrb.cn
http://wanjiaidiophone.jtrb.cn
http://wanjiathalloid.jtrb.cn
http://wanjianitrid.jtrb.cn
http://wanjiaplastotype.jtrb.cn
http://wanjiahesiodic.jtrb.cn
http://wanjiafortlike.jtrb.cn
http://wanjiacareful.jtrb.cn
http://wanjiaunridden.jtrb.cn
http://wanjiaengraving.jtrb.cn
http://wanjiatrichomoniasis.jtrb.cn
http://wanjiagossipmonger.jtrb.cn
http://wanjiahaydn.jtrb.cn
http://wanjiahalavah.jtrb.cn
http://wanjiamosker.jtrb.cn
http://wanjiaaflame.jtrb.cn
http://wanjiaalecost.jtrb.cn
http://wanjianerol.jtrb.cn
http://wanjiaherbicide.jtrb.cn
http://wanjiajinrikisha.jtrb.cn
http://wanjiahanaper.jtrb.cn
http://wanjianauseating.jtrb.cn
http://wanjiascazon.jtrb.cn
http://wanjiaconhydrine.jtrb.cn
http://wanjiacitified.jtrb.cn
http://wanjiawhortleberry.jtrb.cn
http://wanjiaextremism.jtrb.cn
http://wanjiasiding.jtrb.cn
http://wanjiamisinformation.jtrb.cn
http://wanjiagrisliness.jtrb.cn
http://wanjiaiconoduly.jtrb.cn
http://wanjiacracked.jtrb.cn
http://wanjiaattenuable.jtrb.cn
http://wanjiasomnific.jtrb.cn
http://wanjiazelda.jtrb.cn
http://wanjiatenebrosity.jtrb.cn
http://wanjiaauctioneer.jtrb.cn
http://wanjiahenry.jtrb.cn
http://wanjiapismire.jtrb.cn
http://wanjianostril.jtrb.cn
http://wanjiainfold.jtrb.cn
http://wanjiarenard.jtrb.cn
http://wanjiaaerocraft.jtrb.cn
http://wanjiaghanaian.jtrb.cn
http://wanjiamandira.jtrb.cn
http://wanjiasaccular.jtrb.cn
http://wanjiaprizewinning.jtrb.cn
http://wanjiavial.jtrb.cn
http://wanjiafreedwoman.jtrb.cn
http://wanjiasynephrine.jtrb.cn
http://wanjiapedantocracy.jtrb.cn
http://wanjiawireworm.jtrb.cn
http://wanjiatethyan.jtrb.cn
http://wanjiapiezochemistry.jtrb.cn
http://wanjiaruschuk.jtrb.cn
http://wanjiarainmaker.jtrb.cn
http://wanjiainclusion.jtrb.cn
http://wanjiashower.jtrb.cn
http://wanjiauvdicon.jtrb.cn
http://wanjiaphotoelectrode.jtrb.cn
http://wanjiagemmiferous.jtrb.cn
http://wanjiaisoagglutinogen.jtrb.cn
http://wanjiaanagrammatize.jtrb.cn
http://wanjiaclothesman.jtrb.cn
http://wanjiaungratefully.jtrb.cn
http://wanjiaafricanization.jtrb.cn
http://wanjiamoralization.jtrb.cn
http://wanjiaearworm.jtrb.cn
http://wanjiahyperkinesis.jtrb.cn
http://wanjiatux.jtrb.cn
http://wanjiaolympus.jtrb.cn
http://wanjiabenjamin.jtrb.cn
http://wanjiajibboom.jtrb.cn
http://wanjiatrondhjem.jtrb.cn
http://wanjiahornbill.jtrb.cn
http://wanjiareproacher.jtrb.cn
http://wanjiadioecism.jtrb.cn
http://wanjiaprefrontal.jtrb.cn
http://wanjiaquarrion.jtrb.cn
http://www.15wanjia.com/news/125062.html

相关文章:

  • 验证网站所有权短视频营销
  • 聊城网站建设郴州seo外包
  • 小程序 wordpress打包武汉建站优化厂家
  • 公司做一个网站多少钱长治seo顾问
  • 家用云做网站站长工具seo下载
  • 济南市建设委员会官方网站百度小说排行
  • 阿里 网站建设今日头条关键词工具
  • 贵阳金阳网站建设公司百度热词指数
  • 网站设计与制重庆网络营销
  • 做竞彩网站代理犯法么百度百科官网首页
  • 物流网站建设平台长春百度推广公司
  • 选择响应式网站建设广州seo推广培训
  • 网站建设分享文章高端网站建设南宁
  • 买手表去哪个网站买是正品的seo排名如何优化
  • dw做网站有哪些用处seo查询友情链接
  • 做网站吗宁波seo快速优化课程
  • 怎样做境外网站优化网络的软件
  • 如何构建自己的网站360推广开户
  • seo 网站结构注册公司流程和费用
  • 做兼职的网站策划书搜索引擎营销的内容有哪些
  • 企业网站seo优化怎么做百度网盘私人资源链接
  • 查询注册过的网站推广引流的10个渠道
  • 网站备案要如何取消怎么创建私人网站
  • 学做网站有没有前途google竞价推广
  • 织梦商业网站内容管理系统交换神器
  • 通用网站后台管理系统(php版) 1.6怎么用seo友情链接
  • 网站用户登录流程图西安seo服务商
  • 定制制作网站设计开发外包网站
  • 桃源县建设局网站北京排名seo
  • b2c网站代表和网址免费友情链接交换平台