JavaScript中的连续赋值问题实例分析


Posted in Javascript onJuly 12, 2019

本文实例讲述了JavaScript中的连续赋值问题。分享给大家供大家参考,具体如下:

JavaScript中的连续赋值:

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

Javascript中赋值运算符“=”的优先级是除了“,”以外最低的,并且是从右向左结合的。

Javascript中运算的顺序是从左向右的。

a.x = a = {n: 2}可以看做a.x =(a = {n: 2}) ,先运算a.x,在a中添加x属性,结果为null,在计算表达式(a = {n: 2}),最后进行赋值运算。

修改程序:

<script>
var a = {n: 1}
var b = a;
a = a.x = {n: 2}
console.log(a.x);//undefined
console.log(b.x)//Object {n: 2}
</script>
<script>
var a = {x:{xx:1},y:2,z:3};
var b = a.x; //{xx:1}
var c = a;
a.w = a.x.xx = a.y = a = {x:10,y:20};
console.log(a);
console.log(b);
console.log(c);
</script>

运行结果:

a : {x: 10, y: 20}
b : {xx : {x: 10, y: 20}}
c :?{x:{xx:{x:10,y:20}},y:{x:10,y:20},z:3,w:{x:10,y:20}}

<script>
console.log(c.x.xx.x);//10
console.log(c.y.x);//10
console.log(c.w.x);//10
</script>

上述代码感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试运行结果。

更多关于JavaScript相关内容还可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
May 08 Javascript
jquery实现一个简单好用的弹出框
Sep 26 Javascript
jQuery中width()方法用法实例
Dec 24 Javascript
js+css实现tab菜单切换效果的方法
Jan 20 Javascript
jQuery插件实现无缝滚动特效
Nov 24 Javascript
js判断checkbox是否选中个数的方法(超简单)
Aug 19 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
Apr 20 Javascript
angular 内存溢出的问题解决
Jul 12 Javascript
小程序scroll-view组件实现滚动的示例代码
Sep 20 Javascript
40行代码把Vue3的响应式集成进React做状态管理
May 20 Javascript
Vue实现菜单切换功能
Nov 08 Javascript
javascript拖曳互换div的位置实现示例
Jun 28 Javascript
微信小程序开发常见问题及解决方案
Jul 11 #Javascript
使用vue for时为什么要key【推荐】
Jul 11 #Javascript
利用Angular7开发一个Radio组件的全过程
Jul 11 #Javascript
vue发送websocket请求和http post请求的实例代码
Jul 11 #Javascript
微信小程序之几种常见的弹框提示信息实现详解
Jul 11 #Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 #jQuery
vue项目中实现缓存的最佳方案详解
Jul 11 #Javascript
You might like
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
功能强大的php分页函数
2016/07/20 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
javascript Deferred和递归次数限制实例
2014/10/21 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
jQuery设置Easyui校验规则(推荐)
2016/11/21 Javascript
Vuex利用state保存新闻数据实例
2017/06/28 Javascript
详解利用jsx写vue组件的方法示例
2017/07/17 Javascript
Angular使用Md5加密的解决方法
2017/09/16 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
Vue 样式切换及三元判断样式关联操作
2020/08/09 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
Python中变量交换的例子
2014/08/25 Python
Python字符串处理函数简明总结
2015/04/13 Python
Java分治归并排序算法实例详解
2017/12/12 Python
python实时监控cpu小工具
2018/06/21 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
Python通过Pillow实现图片对比
2020/04/29 Python
matplotlib交互式数据光标实现(mplcursors)
2021/01/13 Python
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
求职简历推荐信范文
2013/12/02 职场文书
上课玩手机检讨书
2014/02/08 职场文书
批评与自我批评范文
2014/10/15 职场文书
2015年度党员个人总结
2015/02/14 职场文书
话题作文之财富(600字)
2019/12/03 职场文书