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 相关文章推荐
excel操作之Add Data to a Spreadsheet Cell
Jun 12 Javascript
在图片上显示左右箭头类似翻页的代码
Mar 04 Javascript
JQuery对class属性的操作实现按钮开关效果
Oct 11 Javascript
浅谈Javascript中Object与Function对象
Sep 26 Javascript
node.js从数据库获取数据
May 08 Javascript
jQuery 获取页面li数组并删除不在数组中的key
Aug 02 Javascript
JQuery 封装 Ajax 常用方法(推荐)
May 21 jQuery
理解Angular的providers给Http添加默认headers
Jul 04 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
Sep 10 Javascript
微信小程序switch组件使用详解
Jan 31 Javascript
使用veloticy-ui生成文字动画效果
Feb 08 Javascript
Element输入框带历史查询记录的实现示例
Jan 15 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程序总是提示验证码输入有误解决方案
2015/01/07 PHP
php函数连续调用实例分析
2015/07/30 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
jquery入门—访问DOM对象方法
2013/01/07 Javascript
jQuery.extend()的实现方式详解及实例
2013/06/29 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
jquery简单倒计时实现方法
2015/12/18 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
js获取指定时间的前几秒
2017/04/05 Javascript
package.json文件配置详解
2017/06/15 Javascript
详解js类型判断
2018/05/22 Javascript
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
JavaScript实现切换多张图片
2021/01/27 Javascript
Node.js中的异步生成器与异步迭代详解
2021/01/31 Javascript
Python编程入门的一些基本知识
2015/05/13 Python
Python 迭代器工具包【推荐】
2016/05/06 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
python将时分秒转换成秒的实例
2019/12/07 Python
基于spring boot 日志(logback)报错的解决方式
2020/02/20 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
Python实现Appium端口检测与释放的实现
2020/12/31 Python
荷兰街头时尚之家:Funkie House
2019/03/18 全球购物
英国儿童鞋和靴子:Start-Rite
2019/05/06 全球购物
SQL Server笔试题
2012/01/10 面试题
关于学习的决心书
2015/02/05 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
2016优秀大学生个人事迹材料范文
2016/03/01 职场文书
导游词之徐州云龙湖
2019/11/19 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS
教你一步步实现一个简易promise
2021/11/02 Javascript