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 相关文章推荐
Mootools 1.2教程 正则表达式
Sep 15 Javascript
zeroclipboard复制到剪切板的flash
Aug 04 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
Dec 21 Javascript
jquery中show()、hide()和toggle()用法实例
Jan 15 Javascript
TinyMCE提交AjaxForm获取不到数据的解决方法
Mar 05 Javascript
简单实现JS对dom操作封装
Dec 02 Javascript
使用plupload自定义参数实现多文件上传
Jul 19 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
Jan 30 Javascript
详解vue-cli开发环境跨域问题解决方案
Jun 06 Javascript
jquery中done和then的区别(详解)
Dec 19 jQuery
vue axios请求拦截实例代码
Mar 29 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
Jan 26 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 获取SWF动画截图示例代码
2014/02/10 PHP
php绘图之在图片上写中文和英文的方法
2015/01/24 PHP
PHP整合七牛实现上传文件
2015/07/03 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
jquery显示隐藏input对象
2014/07/21 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
微信小程序 wx:key详细介绍
2016/10/28 Javascript
javascript中replace使用方法总结
2017/03/01 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
nodejs环境使用Typeorm连接查询Oracle数据
2019/12/05 NodeJs
javascript实现超好看的3D烟花特效
2020/01/01 Javascript
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
深入理解Javascript中的this关键字
2015/03/27 Python
Python实现对象转换为xml的方法示例
2017/06/08 Python
python计算列表内各元素的个数实例
2018/06/29 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
2020/02/27 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
python实例化对象的具体方法
2020/06/17 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
2020/08/17 Python
实例讲解使用SVG制作loading加载动画的方法
2016/04/05 HTML / CSS
财务管理职业生涯规划书
2014/02/26 职场文书
安全伴我行演讲稿
2014/09/04 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
临时用工协议书范本
2014/10/29 职场文书
应届生个人的求职(自荐信范文2篇)
2019/08/23 职场文书
MySql开发之自动同步表结构
2021/05/28 MySQL
在Docker容器中部署SQL Server
2022/04/11 Servers
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS