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 动态生成私有变量访问器
Dec 06 Javascript
理解Javascript_14_函数形式参数与arguments
Oct 20 Javascript
jquery trim() 功能源代码
Feb 14 Javascript
JavaScript基础知识之数据类型
Aug 06 Javascript
jquery 按键盘上的enter事件
May 11 Javascript
jQuery中index()方法用法实例
Dec 27 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
Apr 12 Javascript
搞定immutable.js详细说明
May 02 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
May 21 Javascript
javascript宿主对象之window.navigator详解
Sep 07 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
Aug 27 Javascript
javascript实现一款好看的秒表计时器
Sep 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
完美解决dedecms中的[html][/html]和[code][/code]问题
2007/03/20 PHP
php仿ZOL分页类代码
2008/10/02 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
PHP memcache在微信公众平台的应用方法示例
2017/09/13 PHP
批量实现面向对象的实例代码
2013/07/01 Javascript
JavaScript解析URL参数示例代码
2013/08/12 Javascript
javascript与jquery中跳出循环的区别总结
2013/11/04 Javascript
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
Bootstrap每天必学之滚动监听
2016/03/16 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
2017/03/14 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
jQuery实现的淡入淡出与滑入滑出效果示例
2018/04/18 jQuery
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
JavaScript 空间坐标的使用
2020/08/19 Javascript
Vue+Bootstrap实现简易学生管理系统
2021/02/09 Vue.js
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
python批量修改文件后缀示例代码分享
2013/12/24 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
详解Django的CSRF认证实现
2018/10/09 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
python实现最大优先队列
2019/08/29 Python
如何基于python生成list的所有的子集
2019/11/11 Python
在Django中实现添加user到group并查看
2019/11/18 Python
python deque模块简单使用代码实例
2020/03/12 Python
详解Python3中的 input() 函数
2020/03/18 Python
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
文明学生标兵事迹
2014/01/21 职场文书
捐款倡议书范文
2014/02/02 职场文书
小学生期末评语
2014/04/21 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书