Javascript 连续赋值运算
2016-03-07 14:37
429 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">看到ityye上一篇文章,</span><a target=_blank href="http://www.iteye.com/topic/785445" style="color: rgb(0, 102, 153); text-decoration: none; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; font-weight: bold; line-height: 21px; text-align: center; background-color: rgb(222, 227, 231);">写了10年Javascript未必全了解的连续赋值运算</a><span style="font-family:Arial, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);">。</span></span>
var a = {n:1}; a.x = a = {n:2}; alert(a.x); // --> undefined
</pre><pre name="code" class="javascript">var a = {n:1}; var b = a; // 持有a,以回查 a.x = a = {n:2}; alert(a.x);// --> undefined alert(b.x);// --> [object Object]
分析下 a.x = a = {n:2},
a原先是指向{n:1}这个对象,
先执行 a= {n:2},a指向{n:2}对象,
然后a.x = a,前面的a还是引用之前这个对象{n:1},执行后{n:1}变为{n:1,x{n:2}},所以a没有x这个属性,但是第二段代码里面b是有x属性的。
相关文章推荐
- Zero Clipboard js+swf实现的复制功能使用方法
- jsTree
- JavaScript字符串与数组的关系
- JavaScript简介
- javascript函数、面向对象高级应用
- JS不规则表格
- EXTJS学习笔记:grid之gridview
- 第 1 章 JS 基础语法
- JavaScript过滤字符串中的中文与空格方法汇总
- eval的用法,以及不用eval而用parseJSON()
- mechanize javascript onclick
- JSON 格式总结
- JS中多种方式创建对象
- 赵雅智:js知识点汇总
- js 定义类对象
- javascript 过滤字符串中的中文与空格
- JS正则使用实例
- meteor vs sails.js
- js文本框聚焦边框变色
- js 和 jsp快速开发(持续更新中)