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

企业网站建设的核心是百度推广怎么优化排名

企业网站建设的核心是,百度推广怎么优化排名,做网站一年了 做个小总结,山东省质量建设监督总站网站在垃圾回收中了解JavaScript 引擎在值“可达”和可能被使用时会将其保持在内存中 let john { name: "John" }; // 该对象能被访问,john 是它的引用 // 覆盖引用 john null; // 该对象将会被从内存中清除通常,当对象、数组之类的数据结构在内…

在垃圾回收中了解JavaScript 引擎在值“可达”和可能被使用时会将其保持在内存中

let john = { name: "John" };
// 该对象能被访问,john 是它的引用
// 覆盖引用
john = null;
// 该对象将会被从内存中清除

通常,当对象、数组之类的数据结构在内存中时,它们的子元素,如对象的属性、数组的元素都被认为是可达的。

let john = { name: "John" };
let array = [ john ];
john = null; // 覆盖引用
// 前面由 john 所引用的那个对象被存储在了 array 中
// 所以它不会被垃圾回收机制回收
// 我们可以通过 array[0] 获取到它

类似的,如果我们使用对象作为常规 Map 的键,那么当 Map 存在时,该对象也将存在。它会占用内存,并且不会被(垃圾回收机制)回收。

let john = { name: "John" };
let map = new Map();
map.set(john, "...");
john = null; // 覆盖引用
// john 被存储在了 map 中,
// 我们可以使用 map.keys() 来获取它

而WeakMap 在这方面有着根本上的不同。它不会阻止垃圾回收机制对作为键的对象(key object)的回收

WeakMap

WeakMap 和 Map 的第一个不同点就是,WeakMap 的键必须是对象,不能是原始值

let weakMap = new WeakMap();
let obj = {};
weakMap.set(obj, "ok"); // 正常工作(以对象作为键)
// 不能使用字符串作为键
weakMap.set("test", "Whoops"); // Error,因为 "test" 不是一个对象

如果我们在 weakMap 中使用一个对象作为键,并且没有其他对这个对象的引用 —— 该对象将会被从内存(和map)中自动清除。

     let john = { name: "John" };let weakMap = new WeakMap();weakMap.set(john, "...");console.log(weakMap.get(john)); //...john = null; // 覆盖引用// john 被从内存中删除了!console.log(weakMap.get(john)); //undefined

WeakMap 不支持迭代以及 keys(),values() 和 entries() 方法。所以没有办法获取 WeakMap 的所有键或值。

WeakMap 只有以下的方法:

  • weakMap.get(key)
  • weakMap.set(key, value)
  • weakMap.delete(key)
  • weakMap.has(key)

使用的场景

  • WeakMap 的主要应用场景是 额外数据的存储
  • 缓存

WeakSet

WeakSet 的表现类似:

  • 与 Set 类似,但是我们只能向 WeakSet 添加对象(而不能是原始值)。
  • 对象只有在其它某个(些)地方能被访问的时候,才能留在 WeakSet 中。
  • 跟 Set 一样,WeakSet 支持 add,has 和 delete 方法,但不支持 size 和 keys(),并且不可迭代。

变“弱(weak)”的同时,它也可以作为额外的存储空间。但并非针对任意数据,而是针对“是/否”的事实。WeakSet 的元素可能代表着有关该对象的某些信息。

let visitedSet = new WeakSet();let john = { name: "John" };
let pete = { name: "Pete" };
let mary = { name: "Mary" };visitedSet.add(john); // John 访问了我们
visitedSet.add(pete); // 然后是 Pete
visitedSet.add(john); // John 再次访问// visitedSet 现在有两个用户了
// 检查 John 是否来访过?
alert(visitedSet.has(john)); // true
// 检查 Mary 是否来访过?
alert(visitedSet.has(mary)); // false
john = null;
// visitedSet 将被自动清理(即自动清除其中已失效的值 john)

WeakMap 和 WeakSet 最明显的局限性就是不能迭代,并且无法获取所有当前内容。那样可能会造成不便,但是并不会阻止 WeakMap/WeakSet 完成其主要工作 —— 为在其它地方存储/管理的对象数据提供“额外”存储。

总结

  • WeakMap 是类似于 Map 的集合,它仅允许对象作为键,并且一旦通过其他方式无法访问这些对象,垃圾回收便会将这些对象与其关联值一同删除。
  • WeakSet 是类似于 Set 的集合,它仅存储对象,并且一旦通过其他方式无法访问这些对象,垃圾回收便会将这些对象删除。

主要优点

是它们对对象是弱引用,所以被它们引用的对象很容易地被垃圾收集器移除。

这是以不支持 clear、size、keys、values 等作为代价换来的……

WeakMap 和 WeakSet 被用作“主要”对象存储之外的“辅助”数据结构。一旦将对象从主存储器中删除,如果该对象仅被用作 WeakMap 或 WeakSet 的键,那么该对象将被自动清除。

http://www.ds6.com.cn/news/109179.html

相关文章:

  • 做零售外贸网站有哪些新浪网今日乌鲁木齐新闻
  • 深圳网站网页制作黄石seo
  • 2018网站如何做seo搜索引擎营销的简称
  • 朝阳区网站建设短信广告投放软件
  • 简历模板免费可编辑天津网络优化推广公司
  • 怎么自己设计logo图标抖音seo搜索优化
  • 在国税网站怎么做实名全网营销图片
  • 邢台手机网站建设信息2023年最新新闻简短摘抄
  • 淘宝做网站百度一下电脑版网页
  • 长春做网站公司哪家好百度官网app
  • 做电影网站侵权吗seo运营人士揭秘
  • 各种网站推广是怎么做的手机网站建设公司
  • 做a动态网站百度搜索排名怎么做
  • 免费申请大王卡seo网络营销课程
  • html宠物网页简单代码百度seo多久能优化关键词
  • 亚马逊站外推广怎么做淘宝自动推广软件
  • 加工企业网站这么做百度网盘app官网
  • 建设行业门户网站需要什么条件安徽网站优化
  • 网络游戏企业不得向提供游戏服务百度seo手机
  • wordpress整站b站推广网站mmm
  • 梅江区住房和城乡建设局官方网站厦门人才网官网招聘
  • 杭州设计网站最好的公司淘宝推广怎么推
  • 北京网站开发哪家专业最近国际新闻
  • 用名字做头像是什么网站关键词优化报价
  • 海口网络平台网站开发网站排名点击工具
  • 网站图怎么做会高清图片百度关键词排名价格
  • 上海做网站公司做网站的公司北京seo优化排名
  • 做时时彩怎么做网站韶山百度seo
  • 建设网站物业经理上岗证陈俊华宁波seo外包
  • 什么网站做外链优化好哪里有整站优化