成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javascript - JS 里面的 delete object.key 到底刪除了什么?

瀏覽:109日期:2023-04-30 15:12:58

問(wèn)題描述

delete 刪除的是什么?

javascript - JS 里面的 delete object.key 到底刪除了什么?

為什么我這里是先打印的,后刪除的,結(jié)果打印出來(lái)卻是已經(jīng)被刪除此屬性的對(duì)象,求解啊,各位小哥哥們~~

var a = {love: 12, height: 10}console.log(a) // 結(jié)果是 a = {height: 10} 為什么啊~~~delete a.love;

明明是先打印的,后刪除的,好奇怪啊

問(wèn)題解答

回答1:

你注意下,它不展開(kāi)的時(shí)候是{love: 12, height: 10},展開(kāi)了以后才少了,因?yàn)檫@個(gè)點(diǎn)開(kāi)時(shí)展示的是當(dāng)時(shí)的引用,最簡(jiǎn)答的理解方式,你在console后面加一個(gè)debugger

回答2:

javascript - JS 里面的 delete object.key 到底刪除了什么?點(diǎn)擊箭頭查看詳情的時(shí)候,會(huì)重新求值。

回答3:

對(duì)象是引用類(lèi)型的值,你console.log()輸出的是它的信息沒(méi)錯(cuò),但是當(dāng)delete以后,a在堆里面的值已經(jīng)發(fā)生變化,當(dāng)你點(diǎn)開(kāi)以后實(shí)際上顯示的是堆里面實(shí)際的值。

標(biāo)簽: JavaScript
相關(guān)文章: