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 相关文章推荐
Prototype最新版(1.5 rc2)使用指南(1)
Jan 10 Javascript
理解Javascript_07_理解instanceof实现原理
Oct 15 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
Apr 26 Javascript
js中的push和join方法使用介绍
Oct 08 Javascript
js运动动画的八个知识点
Mar 12 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
Oct 12 Javascript
轻松实现jquery选项卡切换效果
Oct 10 Javascript
微信小程序 下拉列表的实现实例代码
Mar 08 Javascript
在vue项目中使用md5加密的方法
Sep 14 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
Sep 21 Javascript
axios使用拦截器统一处理所有的http请求的方法
Nov 02 Javascript
vue穿梭框实现上下移动
Jan 29 Vue.js
微信小程序开发常见问题及解决方案
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
极典R601SW收音机
2021/03/02 无线电
PHP实现获取FLV文件的时间
2015/02/10 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
Javascript日期对象的dateAdd与dateDiff方法
2008/11/18 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
EasyUI中的tree用法介绍
2011/11/01 Javascript
js控制的遮罩层实例介绍
2013/05/29 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
2014/12/15 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
js生成随机颜色方法代码分享(三种)
2016/12/29 Javascript
bootstrap中的 form表单属性role=&quot;form&quot;的作用详解
2017/01/20 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
微信小程序 登录的简单实现
2017/04/19 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
itchat接口使用示例
2017/10/23 Python
Python类的继承和多态代码详解
2017/12/27 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
使用python实现名片管理系统
2020/06/18 Python
Python如何将装饰器定义为类
2020/07/30 Python
苹果音乐订阅:Apple Music
2018/08/02 全球购物
采购部部长岗位职责
2014/02/06 职场文书
精彩广告词大全
2014/03/19 职场文书
中学生操行评语
2014/04/24 职场文书
实习指导老师评语
2014/04/26 职场文书
健康教育评估方案
2014/05/25 职场文书
欢迎领导标语
2014/06/27 职场文书
会议欢迎词范文
2015/01/27 职场文书
Python 实现绘制子图及子图刻度的变换等问题
2021/05/31 Python