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 相关文章推荐
用js实现的页面关键字密度查询代码
Dec 27 Javascript
js或css实现滚动广告的几种方案
Jan 28 Javascript
jquery 操作表格实现代码(多种操作打包)
Mar 20 Javascript
用循环或if语句从json中取数据示例
Aug 18 Javascript
JavaScript中toString()方法的使用详解
Jun 05 Javascript
javascript九宫格图片随机打乱位置的实现方法
Mar 15 Javascript
vue实现手机号码抽奖上下滚动动画示例
Oct 18 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
Dec 18 Javascript
更强大的vue ssr实现预取数据的方式
Jul 19 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
Oct 25 Javascript
原生JavaScript实现拖动校验功能
Sep 29 Javascript
Vue 实现拨打电话操作
Nov 16 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 array的学习笔记
2012/05/10 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
2013/10/15 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
jQuery toggleClass应用实例(附效果图)
2014/04/06 Javascript
jQuery中hide()方法用法实例
2014/12/24 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
angularjs封装bootstrap时间插件datetimepicker
2016/06/20 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
捕获未处理的Promise错误方法
2017/10/13 Javascript
详解vue组件基础
2018/05/04 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
2018/09/20 Javascript
原生javascript实现连连看游戏
2019/01/03 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
2019/01/07 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
vue实现lodop打印功能的示例
2020/11/11 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
Python中正则表达式的用法总结
2019/02/22 Python
EQVVS官网:设计师男装和女装
2018/10/24 全球购物
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
医学类导师推荐信范文
2013/11/19 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
2014年人事部工作总结
2014/12/03 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
英文感谢信范文
2015/01/21 职场文书
生产实习心得体会范文
2016/01/22 职场文书
HTML基础详解(上)
2021/10/16 HTML / CSS