简单的问题,js初始化对象

test2500 2015-10-10 11:42:55

var a={};
var a = null;

如题,js初始化对象。2者有什么区别?它们适合在什么情况下使用?
自己感觉null也是对象,{} = new Object() ?空对象
...全文
270 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
街头小贩 2015-10-10
  • 打赏
  • 举报
回复
a={},代表创建了一个空对象
b=null,表示没有类型信息.null不是一个对象,也不是一个具体的类型,只是无类型变量的初始状态.

两者有本质的区别.至于什么时候使用哪个看你的需求.如果是写js框架,{}这种方式用的多一些,它可以免去null判断


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />

<title>open source</title>
<script type="text/javascript">
var a={};
console.log(a.name+"--->");
var b=null;
try{
console.log(b.name+"<");
}catch(e){
console.log("b is not object");
}
</script>
</head>
<body>

</body></html>
风中的少年 2015-10-10
  • 打赏
  • 举报
回复
顶!!!!!!
hch126163 2015-10-10
  • 打赏
  • 举报
回复
不说底层的内存分配。 都是定义一个object 对象,并初始化。但是 {} 不等于null var a={}; var b = null; a.a1=1; //OK a.a2="2";//OK b.b1=1; //TypeError: Cannot set property 'b1' of null
test2500 2015-10-10
  • 打赏
  • 举报
回复
没人探讨探讨吗

87,941

社区成员

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

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