js 连续赋值的简单实现


Posted in Javascript onJune 13, 2016

无意中网上发现的这个问题,预想的结果和真实的结果大相径庭。

var a={n:1}
var b=a;
a.x=a={n:2}
console.log(a.x); 
console.log(b.x);
undefined
Object{n:2}

要是拆开来看,结果就是我所想的那样

var a={n:1}
var b=a;
a={n:2};
a.x={n:2}
console.log(a.x);//Object{n:2}console.log(b.x);//undefined

分析:

a.x=a={n:2}

js的赋值运算是右结合的,上面等同于a.x=(a={n:2})

js的求值运算是从左到右的(PS:和同事讨论,他说是从左到右,我认为是从右到左,最后发现是我错了)

1)a.x=(括号内的最终结果)

   查找a的x属性不存在后在a指向的对象中添加一个属性x,这个x属性要把一个结果赋给它,那好吧,我等着结果

js 连续赋值的简单实现

 

2)因为是要获得括号内的结果,那么a.x就一直等着括号内给他返回结果,所以开始求值a={n:2}得到结果后返回给这个新属性x

js 连续赋值的简单实现

3)回到括号内的a={n:2},a发生指向改变了

js 连续赋值的简单实现

以上这篇js 连续赋值的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
在js(jquery)中获得文本框焦点和失去焦点的方法
Dec 04 Javascript
解读JavaScript中 For, While与递归的用法
May 07 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
Dec 29 Javascript
javascript实现抽奖程序的简单实例
Jun 07 Javascript
详解JS-- 浮点数运算处理
Nov 28 Javascript
js Canvas实现的日历时钟案例分享
Dec 25 Javascript
javascript过滤数组重复元素的实现方法
May 03 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
Jul 24 jQuery
JavaScript捕捉事件和阻止冒泡事件实例分析
Aug 03 Javascript
three.js实现炫酷的全景3D重力感应
Dec 30 Javascript
es6 filter() 数组过滤方法总结
Apr 03 Javascript
js实现旋转的星空效果
Nov 01 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
Jun 13 #Javascript
全面解析Bootstrap中tooltip、popover的使用方法
Jun 13 #Javascript
JavaScript遍历求解数独问题的主要思路小结
Jun 12 #Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
Jun 12 #Javascript
JavaScript解八皇后问题的方法总结
Jun 12 #Javascript
jQuery遍历json的方法(推荐)
Jun 12 #Javascript
jQuery移动端图片上传组件
Jun 12 #Javascript
You might like
php 表单验证实现代码
2009/03/10 PHP
php 读取shell管道传输过来的内容
2010/03/01 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
10个php函数实用却不常见
2015/10/13 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
JavaScript 作用域链解析
2014/11/13 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
jQuery根据元素值删除数组元素的方法
2015/06/24 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
Vue常用指令V-model用法
2017/03/08 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
JavaScript输出所选择起始与结束日期的方法
2017/07/12 Javascript
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
JS二分查找算法详解
2017/11/01 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
python中Genarator函数用法分析
2015/04/08 Python
Python实现简易端口扫描器代码实例
2017/03/15 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
python ubplot使用方法解析
2020/01/10 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
python IP地址转整数
2020/11/20 Python
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
校领导推荐信
2013/11/01 职场文书
售后服务经理岗位职责范本
2014/02/22 职场文书
网站客服岗位职责
2014/04/05 职场文书
教师考核评语
2014/04/28 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
2016年教师新年寄语
2015/08/18 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
java泛型通配符详解
2021/07/25 Java/Android
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs