js delete 作用基础问题

js delete 作用基础问题

如题,下面两处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(() => {

... ...

})

}


回答:

const foo = {

bar: 'bar'

}

console.log(foo)

// {bar: 'bar'}

delete foo.bar

console.log(foo)

// {}

来自 mdn 的解释

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

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


回答:

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

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

以上是 js delete 作用基础问题 的全部内容, 来源链接: utcz.com/p/935610.html

回到顶部