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 相关文章推荐
DOM Scripting中的图片切换[兼容Firefox]
Jun 12 Javascript
JSON传递bool类型数据的处理方式介绍
Sep 18 Javascript
node.js中的fs.readFileSync方法使用说明
Dec 15 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
May 31 Javascript
js实现背景图自适应窗口大小
Jan 10 Javascript
Mac下使用charles遇到的问题以及解决办法
Jan 10 Javascript
详解Javascript几种跨域方式总结
Feb 27 Javascript
JavaScript实现的超简单计算器功能示例
Dec 23 Javascript
vue实现行列转换的一种方法
Aug 06 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
Nov 13 Javascript
js对象简介与基本用法示例
Mar 13 Javascript
js重写alert事件(避免alert弹框标题出现网址)
Dec 04 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 和 XML: 使用expat函数(三)
2006/10/09 PHP
php实现的Captcha验证码类实例
2014/09/22 PHP
php实现多城市切换特效
2015/08/09 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
JS增加行复制行删除行的实现代码
2013/11/09 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
2013/11/22 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
解决layer弹出层中表单不起作用的问题
2019/09/09 Javascript
详解利用eventemitter2实现Vue组件通信
2019/11/04 Javascript
Angular单元测试之事件触发的实现
2020/01/20 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
[50:54]完美世界DOTA2联赛 GXR vs IO 第三场 11.07
2020/11/10 DOTA
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
Python中List.index()方法的使用教程
2015/05/20 Python
python中私有函数调用方法解密
2016/04/29 Python
python win32 简单操作方法
2017/05/25 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
Python玩转PDF的各种骚操作
2019/05/06 Python
python中的句柄操作的方法示例
2019/06/20 Python
python2使用bs4爬取腾讯社招过程解析
2019/08/14 Python
PyTorch的Optimizer训练工具的实现
2019/08/18 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
心得体会范文
2014/01/04 职场文书
《社戏》教学反思
2014/04/15 职场文书
大学生安全责任书
2014/07/25 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
秋季运动会开幕词
2015/01/28 职场文书
推荐信范文大全
2015/03/27 职场文书
致运动员赞词
2015/07/22 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
生日宴会家属答谢词
2015/09/29 职场文书
《圆明园的毁灭》教学反思
2016/02/16 职场文书