码迷,mamicode.com
首页 > Web开发 > 详细

js连续赋值

时间:2017-12-01 11:28:33      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:结构   log   对象   保存   define   efi   解析   ons   nbsp   

var a={n:1}

a.x=a={n:2}

console.log(a.x);

undefined

 

变量a保存对象{ n : 1 }的内存地址

a. x = a; a对象新增x属性,x属性也指向{ n :1 } 的内存地址,  此时 a 对象结构为

 {

  n:1,

  x:{n:1}

}

随后a = { n : 2 },意思是a重新指向 { n : 2 }这个对象的内存地址,这个对象里面没有x属性;

所以a.x是undefined;

也可以把上面的代码这么解析:

var  a={n:1}

a.x={n:1}

a={n:2}

console.log(a.x);

undefined

js连续赋值

标签:结构   log   对象   保存   define   efi   解析   ons   nbsp   

原文地址:http://www.cnblogs.com/xuxuxu/p/7940474.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!