js delete 作用基础问题

发布于 2022-09-13 00:23:54 字数 630 浏览 30 评论 0

如题,下面两处delete操作,作用是释放内存资源?

    initFn() {
      const formData = this.$refs.filter.getAllItem()
      formData.month = 6
      for (var i in formData) {
        if (i === 'timeStart' || i === 'timeEnd') {
          if (formData[i] !== '') {
            delete formData.month  // delete
          }
        }
        if (formData[i] === '') {
          delete formData[i]  // delete
        }
      }
      const params = {
        ...formData
      }
      this.$axios.post(this.$url, params).then(data => {
         ... ...
      }).finally(() => {
         ... ...
      })
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云柯 2022-09-20 00:23:54
const foo = {
    bar: 'bar'
}
console.log(foo)
// {bar: 'bar'}
delete foo.bar
console.log(foo)
// {}

来自 mdn 的解释

delete 操作符用于删除对象的某个属性;如果没有指向这个属性的引用,那它最终会被释放。

在你提供的代码里,因为数据要发送给后端,所以做一些多余的参数删除

时光是把杀猪刀 2022-09-20 00:23:54

这个就是根据业务逻辑删除formData对象的属性,然后把对象作为参数传给后端。

属性一旦被删除,分配给该属性对应的变量占据的内存,会被自动回收的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文