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 相关文章推荐
关于文本框的一些限制控制总结~~
Apr 15 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
Apr 18 Javascript
Json序列化和反序列化方法解析
Dec 19 Javascript
javascript每日必学之基础入门
Feb 16 Javascript
详解AngularJs ui-router 路由的简单介绍
Apr 26 Javascript
VUE 实现滚动监听 导航栏置顶的方法
Sep 11 Javascript
JS复杂判断的更优雅写法代码详解
Nov 07 Javascript
如何使用JavaScript实现栈与队列
Jun 24 Javascript
layer iframe 设置关闭按钮的方法
Sep 12 Javascript
微信小程序可滑动周日历组件使用详解
Oct 21 Javascript
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
抖音短视频(douyin)去水印工具的实现代码
Mar 30 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 获取一个月第一天与最后一天的代码
2010/05/16 PHP
Session服务器配置指南与使用经验的深入解析
2013/06/17 PHP
php获取中文拼音首字母类和函数分享
2014/04/24 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
通过ifame指向的页面高度调整iframe的高度
2006/10/05 Javascript
利用javascript中的call实现继承
2007/01/22 Javascript
根据经纬度计算地球上两点之间的距离js实现代码
2013/03/05 Javascript
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
2013/07/04 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
vue父组件中获取子组件中的数据(实例讲解)
2017/09/27 Javascript
原生JavaScrpit中异步请求Ajax实现方法
2017/11/03 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
vue注册组件的几种方式总结
2018/03/08 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
详解React 条件渲染
2020/07/08 Javascript
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
python实现DEM数据的阴影生成的方法
2019/07/23 Python
如何基于python操作json文件获取内容
2019/12/24 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
成教自我鉴定
2013/10/27 职场文书
学生实习介绍信
2014/01/15 职场文书
《灰椋鸟》教学反思
2014/04/27 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
学习十八届四中全会精神思想汇报
2014/10/23 职场文书
群众路线个人整改措施
2014/10/24 职场文书
爱国主题班会教案
2015/08/14 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android