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 相关文章推荐
javascript制作幻灯片(360度全景图片)
Jul 28 Javascript
javascript常用的方法整理
Aug 20 Javascript
jQuery获取checkboxlist的value值的方法
Sep 27 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
Jun 17 Javascript
JS实现的打字机效果完整实例
Jun 20 Javascript
通过js动态创建标签,并设置属性方法
Feb 24 Javascript
小程序实现带年月选取效果的日历
Jun 27 Javascript
Vuerouter的beforeEach与afterEach钩子函数的区别
Dec 26 Javascript
layui异步加载table表中某一列数据的例子
Sep 16 Javascript
利用layer实现表单完美验证的方法
Sep 26 Javascript
原生JavaScript实现留言板
Jan 10 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
Jan 19 Vue.js
全面解析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与MySQL开发的8个技巧小结
2010/12/17 PHP
用PHP和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
了解了这些才能开始发挥jQuery的威力
2013/10/10 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
JavaScript实现定时隐藏与显示图片的方法
2015/08/06 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
Js利用console计算代码运行时间的方法示例
2017/09/24 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
关于python多重赋值的小问题
2019/04/17 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
python超时重新请求解决方案
2019/10/21 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
2020/04/21 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
体育老师的教学自我评价分享
2013/11/19 职场文书
报关报检委托书
2014/04/08 职场文书
婚前财产公证书
2014/04/10 职场文书
暑假家长评语大全
2014/04/17 职场文书
小学生期末评语
2014/04/21 职场文书
难忘的一课教学反思
2014/04/30 职场文书
教育见习报告范文
2014/11/03 职场文书
爱国主义教育主题班会
2015/08/13 职场文书
javaScript Array api梳理
2021/03/31 Javascript
Vue Element plus使用方法梳理
2022/12/24 Vue.js