js 连续赋值的简单实现


Posted in Javascript onJune 13, 2016

无意中网上发现的这个问题,预想的结果和真实的结果大相径庭。

var a={n:1}
var b=a;
a.x=a={n:2}
console.log(a.x); 
console.log(b.x);
undefined
Object{n:2}

要是拆开来看,结果就是我所想的那样

var a={n:1}
var b=a;
a={n:2};
a.x={n:2}
console.log(a.x);//Object{n:2}console.log(b.x);//undefined

分析:

a.x=a={n:2}

js的赋值运算是右结合的,上面等同于a.x=(a={n:2})

js的求值运算是从左到右的(PS:和同事讨论,他说是从左到右,我认为是从右到左,最后发现是我错了)

1)a.x=(括号内的最终结果)

   查找a的x属性不存在后在a指向的对象中添加一个属性x,这个x属性要把一个结果赋给它,那好吧,我等着结果

js 连续赋值的简单实现

 

2)因为是要获得括号内的结果,那么a.x就一直等着括号内给他返回结果,所以开始求值a={n:2}得到结果后返回给这个新属性x

js 连续赋值的简单实现

3)回到括号内的a={n:2},a发生指向改变了

js 连续赋值的简单实现

以上这篇js 连续赋值的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
理解JSON:3分钟课程
Oct 28 Javascript
javascript学习笔记(二) js一些基本概念
Jun 18 Javascript
Jquery判断$("#id")获取的对象是否存在的方法
Sep 25 Javascript
js设置控件的隐藏与显示的两种方法
Aug 21 Javascript
JavaScript Sort 的一个错误用法示例
Mar 20 Javascript
Bootstrap表单Form全面解析
Jun 13 Javascript
JS使用onerror捕获异常示例
Aug 03 Javascript
Bootstrap模态框调用功能实现方法
Sep 19 Javascript
JS前向后瞻正则表达式定义与用法示例
Dec 27 Javascript
Angular实现跨域(搜索框的下拉列表)
Feb 16 Javascript
如何在Angular应用中创建包含组件方法示例
Mar 23 Javascript
在HTML中使用JavaScript的两种方法
Dec 24 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
Jun 13 #Javascript
全面解析Bootstrap中tooltip、popover的使用方法
Jun 13 #Javascript
JavaScript遍历求解数独问题的主要思路小结
Jun 12 #Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
Jun 12 #Javascript
JavaScript解八皇后问题的方法总结
Jun 12 #Javascript
jQuery遍历json的方法(推荐)
Jun 12 #Javascript
jQuery移动端图片上传组件
Jun 12 #Javascript
You might like
用PHP和ACCESS写聊天室(七)
2006/10/09 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
2019/06/08 PHP
PHP7 参数处理机制修改
2021/03/09 PHP
js 内存释放问题
2010/04/25 Javascript
js获取url中"?"后面的字串方法
2014/05/15 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
jQuery Chosen通用初始化
2017/03/07 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
浅析JS抽象工厂模式
2017/12/14 Javascript
PHP读取远程txt文档到数组并实现遍历
2020/08/25 Javascript
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
wxPython中listbox用法实例详解
2015/06/01 Python
用python实现的线程池实例代码
2018/01/06 Python
浅谈Python3实现两个矩形的交并比(IoU)
2020/01/18 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
Python 私有属性和私有方法应用场景分析
2020/06/19 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
美国男士内衣品牌:Tommy John
2017/12/22 全球购物
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
接口可以包含哪些成员
2012/09/30 面试题
学生的自我鉴定范文
2013/10/24 职场文书
护理学毕业生求职信
2013/11/14 职场文书
心理健康心得体会
2014/01/02 职场文书
生物学学生自我评价
2014/01/17 职场文书
社团文化节策划书
2014/02/01 职场文书
幼儿园大班教学反思
2014/02/10 职场文书
一年级班主任感言
2014/03/08 职场文书
出纳试用期自我鉴定范文
2014/09/16 职场文书
教师群众路线教育实践活动学习笔记
2014/11/05 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python
nginx常用配置conf的示例代码详解
2022/03/21 Servers