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 相关文章推荐
js中巧用cssText属性批量操作样式
Mar 13 Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
May 06 Javascript
利用JS生成博文目录及CSS定制博客
Feb 10 Javascript
Bootstrap3制作搜索框样式的方法
Jul 11 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
Jul 24 Javascript
javascript如何用递归写一个简单的树形结构示例
Sep 06 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
Dec 18 Javascript
详解基于webpack&amp;gettext的前端多语言方案
Jan 29 Javascript
详解使用React制作一个模态框
Mar 14 Javascript
JS左右无缝轮播功能完整实例
May 16 Javascript
JavaScript实现移动端带transition动画的轮播效果
Mar 24 Javascript
JS实现4位随机验证码
Oct 19 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
php5.3 注意事项说明
2013/07/01 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
2016/06/13 PHP
IIS 7.5 asp Session超时时间设置方法
2017/04/17 PHP
js压缩利器
2007/02/20 Javascript
Div自动滚动到末尾的代码
2008/10/26 Javascript
Jquery 绑定时间实现代码
2011/05/03 Javascript
在jquery中处理带有命名空间的XML数据
2011/06/13 Javascript
使用原生javascript创建通用表单验证——更锋利的使用dom对象
2011/09/13 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
JavaScript代码判断点击第几个按钮
2015/12/13 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
js精确的加减乘除实例
2017/11/14 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
[01:20]DOTA2 齐天大圣至宝动态展示
2016/12/13 DOTA
python3操作mysql数据库的方法
2017/06/23 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
Python实现的直接插入排序算法示例
2018/04/29 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
python中web框架的自定义创建
2019/09/08 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
2013/08/11 HTML / CSS
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
澳大利亚领先的优质葡萄酒拍卖会:Langton’s Fine Wines
2019/03/24 全球购物
如何写好升职自荐信
2014/01/06 职场文书
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
社区七一党员活动方案
2014/01/25 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
小学教学随笔感言
2014/02/26 职场文书
2015年企业新年寄语
2014/12/08 职场文书
毕业设计致谢语
2015/05/14 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
如何使用CocosCreator对象池
2021/04/14 Javascript