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 相关文章推荐
每日十条JavaScript经验技巧(二)
Jun 23 Javascript
jQuery+json实现动态创建复杂表格table的方法
Oct 25 Javascript
原生JS改变透明度实现轮播效果
Mar 24 Javascript
详解vuex 中的 state 在组件中如何监听
May 23 Javascript
浅谈Vue2.0父子组件间事件派发机制
Jan 08 Javascript
jQuery动态生成的元素绑定事件操作实例分析
May 04 jQuery
layer ui插件显示tips时,修改字体颜色的实现方法
Sep 11 Javascript
vue 解决路由只变化参数页面组件不更新问题
Nov 05 Javascript
js实现搜索提示框效果
Sep 05 Javascript
vue3.0 加载json的方法(非ajax)
Oct 26 Javascript
Vue实现导入Excel功能步骤详解
Jul 03 Vue.js
JavaScript圣杯布局与双飞翼布局实现案例详解
Aug 05 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
浅析php工厂模式
2014/11/25 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
学习php设计模式 php实现享元模式(flyweight)
2015/12/07 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
关于PHP求解三数之和问题详析
2020/11/09 PHP
jQuery cdn使用介绍
2013/05/08 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
javascript面向对象程序设计(一)
2015/01/29 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
nodejs动态创建二维码的方法
2017/08/12 NodeJs
你可能不知道的JSON.stringify()详解
2017/08/17 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
vant 时间选择器--开始时间和结束时间实例
2020/11/04 Javascript
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
详解webapp页面滚动卡顿的解决办法
2018/12/26 HTML / CSS
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
车间调度岗位职责
2013/11/30 职场文书
演讲稿怎么写
2014/01/07 职场文书
办公室打字员岗位职责
2014/04/16 职场文书
给校长的建议书100字
2014/05/16 职场文书
英文感谢信范文
2015/01/21 职场文书
租车协议书
2015/01/27 职场文书
大学生个人简历自我评价
2015/03/11 职场文书
个人承诺书格式范文
2015/04/29 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书
2019新员工试用期转正工作总结范文
2019/08/21 职场文书