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高级程序设计(第3版)学习笔记6 初识js对象
Oct 11 Javascript
Jquery显示、隐藏元素以及添加删除样式
Aug 09 Javascript
解决JQeury显示内容没有边距内容紧挨着浏览器边线
Dec 20 Javascript
浅析js中的浮点型运算问题
Jan 06 Javascript
三种AngularJS中获取数据源的方式
Feb 02 Javascript
原生javascript实现addClass,removeClass,hasClass函数
Feb 25 Javascript
JS选取DOM元素的简单方法
Jul 08 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
Jan 08 Javascript
vue与bootstrap实现时间选择器的示例代码
Aug 26 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
Sep 12 jQuery
js实现单张图片平移切换效果
Oct 11 Javascript
Layui table field初始化加载时进行隐藏的方法
Sep 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
PHP程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
php接口与接口引用的深入解析
2013/08/09 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
2009/06/02 Javascript
JavaScript中常见陷阱小结
2010/04/27 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
2011/01/06 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
2013/03/29 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
react-redux中connect()方法详细解析
2017/05/27 Javascript
深入探究node之Transform
2017/07/20 Javascript
React从react-router路由上做登陆验证控制的方法
2018/05/10 Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
2018/11/15 Javascript
vue中使用极验验证码的方法(附demo)
2019/12/04 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
Python连接mssql数据库编码问题解决方法
2015/01/01 Python
Python实现的概率分布运算操作示例
2017/08/14 Python
python pygame实现五子棋小游戏
2020/10/26 Python
python实现局域网内实时通信代码
2019/12/22 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
2020/02/14 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
自荐信格式
2013/12/01 职场文书
给老师的检讨书
2014/02/11 职场文书
绿色环保倡议书
2015/04/28 职场文书
如何写好开幕词?
2019/06/24 职场文书
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS
Python实现仓库管理系统
2022/05/30 Python