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 相关文章推荐
jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend
Aug 03 Javascript
DOM_window对象属性之--clipboardData对象操作代码
Feb 03 Javascript
Javascript delete 引用类型对象
Nov 01 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
Jan 03 Javascript
JS对象与json字符串格式转换实例
Oct 28 Javascript
js点击返回跳转到指定页面实现过程
Aug 20 Javascript
前端自动化开发之Node.js的环境搭建教程
Apr 01 Javascript
JS+canvas动态绘制饼图的方法示例
Sep 12 Javascript
微信小程序swiper左右扩展各显示一半代码实例
Dec 05 Javascript
vue excel上传预览和table内容下载到excel文件中
Dec 10 Javascript
vue制作抓娃娃机的示例代码
Apr 17 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 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
PHP消息队列用法实例分析
2016/02/12 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
2017/03/14 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
jquery 表单进行客户端验证demo
2009/08/24 Javascript
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
2014/01/02 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
2015/09/01 Javascript
javascript关于继承解析
2016/05/10 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
2018/01/03 Javascript
bootstrap 路径导航 分页 进度条的实例代码
2018/08/06 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
js form表单input框限制20个字符,10个汉字代码实例
2019/04/12 Javascript
判断“命令按钮”是否被鼠标单击详解
2019/07/31 Javascript
初探利用Python进行图文识别(OCR)
2019/02/26 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
python计算二维矩形IOU实例
2020/01/18 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
C语言笔试题
2014/09/04 面试题
最新个人职业生涯规划书
2014/01/22 职场文书
小学五年级学生评语
2014/04/22 职场文书
入党介绍人评语
2014/05/06 职场文书
会议室标语
2014/06/21 职场文书
公司合作协议范文
2014/10/01 职场文书
机关作风整顿个人剖析材料
2014/10/06 职场文书
python中的None与NULL用法说明
2021/05/25 Python
redis实现的四种常见限流策略
2021/06/18 Redis
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL
分享Python异步爬取知乎热榜
2022/04/12 Python
什么是clearfix (一文搞清楚css清除浮动clearfix)
2023/05/21 HTML / CSS
VW、VH适配移动端的解决方案与常见问题
2023/05/21 HTML / CSS