w3c上说的“可以通过将变量的值设置为 null 来清空变量”中的清理变量有什么特别意思吗?

彼小星 2016-03-26 01:54:58
原话“Undefined 这个值表示变量不含有值,可以通过将变量的值设置为 null 来清空变量”,我把变量设置成undefined是不是一样能清理变量?
...全文
351 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
彼小星 2016-03-29
  • 打赏
  • 举报
回复
不知道对一个变量赋值undefined是不是可以理解为是对undefined的引用,因为undefined也是window的一个全局变量嘛。对变量赋值null是不是就是相当于清空了变量指向的堆的地址的值。
wuyue226 2016-03-28
  • 打赏
  • 举报
回复
undefined是未定义的,是有值得的,只是没有定义而已;而null是空值,里边没有值。
彼小星 2016-03-26
  • 打赏
  • 举报
回复
我不太理解如果赋值undefined,内存有什么变化,还有undefined是全局变量,它是存在在内存中的栈区吗?
KK3K2005 2016-03-26
  • 打赏
  • 举报
回复
补充下 undefined 更类似于状态 变量 is Undefined null 是值 变量 == null
KK3K2005 2016-03-26
  • 打赏
  • 举报
回复
内存中 会分2块区域 栈:保存变量的空间 堆:保存数据的空间 每个变量 本身在内存中有一个地址 这个地址里面保存了变量指向的值的内容或者地址(堆的地址) (如果是数值变量 那么地址值本身就是 值 不需要指向堆了) undefined表示未定义的变量 如果 undefined 就表示这个变量本身在 栈中连地址也没有 更不要说变量的值了 设置 null 的话 变量对应的地址里面的 内容 就清空了 本来 这个变量所在地址 里面保存 了另外一个 数据的地址 现在就没了 另外这个 数据 会判断 有多少变量 还指向他 如果指向他的变量 是0个 这个数据 就会被清除 释放空间 这个就是 undefined 和 null 的区别

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧