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.js常用函数及其用法
Mar 10 Javascript
Javascript 解疑
Nov 11 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
Feb 22 Javascript
jquery对象和DOM对象的区别介绍
Aug 09 Javascript
jquery判断iPhone、Android设备类型
Sep 14 Javascript
微信小程序表单验证错误提示效果
May 19 Javascript
详解jquery插件jquery.viewport.js学习使用方法
Sep 08 jQuery
使用原生js+canvas实现模拟心电图的实例
Sep 20 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
Sep 11 Javascript
实例分析vue循环列表动态数据的处理方法
Sep 28 Javascript
解决node终端下运行js文件不支持ES6语法
Apr 04 Javascript
JavaScript+HTML实现学生信息管理系统
Apr 20 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
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
jquery仿百度经验滑动切换浏览效果
2015/04/14 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
2016/09/01 Javascript
JavaScript九九乘法口诀表的简单实现
2016/10/04 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
Vue实现按钮级权限方案
2019/11/21 Javascript
JS求解两数之和算法详解
2020/04/28 Javascript
[01:19:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第二局
2016/03/05 DOTA
python通过字典dict判断指定键值是否存在的方法
2015/03/21 Python
浅谈python多线程和队列管理shell程序
2015/08/04 Python
Python学习教程之常用的内置函数大全
2017/07/14 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
Python使用字典的嵌套功能详解
2019/02/27 Python
python实现简易学生信息管理系统
2020/04/05 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
Europcar意大利:汽车租赁
2019/07/07 全球购物
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
募捐倡议书怎么写
2014/05/14 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
小学三年级作文之写景
2019/11/05 职场文书