getter

您所在的位置:网站首页 字符串get函数 getter

getter

2024-07-12 19:33| 来源: 网络整理| 查看: 265

Getters 给你一种方法来定义一个对象的属性,但是在访问它们之前不会计算属性的值。getter 延迟计算值的成本,直到需要此值,如果不需要,你就不用支付成本。

一种额外的优化技术是用智能 (或称记忆化)getters 延迟属性值的计算并将其缓存以备以后访问。该值是在第一次调用 getter 时计算的,然后被缓存,因此后续访问返回缓存值而不重新计算它。这在以下情况下很有用:

如果属性值的计算是昂贵的(占用大量 RAM 或 CPU 时间,产生工作线程,检索远程文件等)。 如果现在不需要该值。它将在稍后使用,或在某些情况下它根本不使用。 如果被使用,它将被访问几次,并且不需要重新计算,该值将永远不会被改变,或者不应该被重新计算。

备注: 这意味着你不应该为你希望更改其值的属性使用懒 getter,因为 getter 不会重新计算该值。

在以下示例中,对象具有一个 getter 属性。在获取属性时,该属性将从对象中删除并重新添加,但此时将隐式显示为数据属性。最后返回得到值。

jsget notifier() { delete this.notifier; return this.notifier = document.getElementById('bookmarked-notification-anchor'); },

对于 Firefox 代码,另请参阅定义defineLazyGetter() 函数的XPCOMUtils.jsm代码模块。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3