关于原生js object property的一个有趣(蛋疼)的问题【问号结尾】?
【标题不知道该咋么起,凑合着看哈,主要看正文 XD】
比如我这样声明一个对象:
var obj = {}
这个时候
obj
点什么都是
undefined
的
那么我的问题是:
obj.a = undefined;
这个时候
输出
obj.a
是
undefined
输出
obj.b
也同样是
undefined
我想问,
obj.a
与
obj.b
有什么区别?
也许很多人不懂我的意思,那我带一张图吧,应该能看懂了:
伊邪.那羙
9 years, 3 months ago
Answers
额。。看下面
var obj = {}; //声明了一个对象obj
obj.a; //undefined是因为obj里找不到a
obj.b; //undefined是因为obj里找不到b
obj.a = undefined;//obj设置一个属性a,该值为undefined,表示a不含有值
console.log(obj);//Object {a: undefined},明显obj里面已经设置了一个a
obj.a; //undefined,a的值为undefined
obj.b; //undefined,是因为obj里还是找不到b
还有一个就是,obj保存的是Object {a: undefined}的引用,所以打印obj便找到了obj所持引用地址的值Object {a: undefined}
清楚了吧?
Archerf
answered 9 years, 3 months ago