javascript实现连续赋值


Posted in Javascript onAugust 10, 2015

最近项目接触,时间比较充足,到网上逛逛了逛无意中在网上发现了这个问题,预知的结果和真实结果相差太大。

请看下面代码

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属性要把一个结果赋给它,那好吧,我等着结果

javascript实现连续赋值

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

javascript实现连续赋值

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

javascript实现连续赋值

 javascript实现给<a href=""> href赋值

document.getElementById("a").href=""; a是要添加超链接a的id,比如<a id='a' >信息提示</a>
<form action="" method="post" name="myform" >
<a href="" id=links >信息提示 </a >
</form >
<script >
document.getElementById("links").href="http://www.baidu.com";
</script >

此代码内容实现给<a hre="">href赋值,怎么样代码很简单吧。

以上内容是本文用javascript实现连续赋值的全部内容,希望对大家有所帮助,本站每天都有新的内容更新,继续关注哟!

Javascript 相关文章推荐
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
Apr 20 Javascript
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
Apr 20 Javascript
表格单元格交错着色实现思路及代码
Apr 01 Javascript
javascript实现动态模态绑定grid过程代码
Sep 22 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
Mar 10 Javascript
javascript白色简洁计算器
May 04 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
May 16 Javascript
Javascript中return的使用与闭包详解
Jan 11 Javascript
JavaScript创建对象的七种方式(推荐)
Jun 26 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
Oct 23 Javascript
layui实现数据表格自定义数据项
Oct 26 Javascript
浅谈JavaScript中this的指向更改
Jul 28 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
Aug 10 #Javascript
js中的内部属性与delete操作符介绍
Aug 10 #Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
Aug 09 #Javascript
javascript中对变量类型的判断方法
Aug 09 #Javascript
jquery仿百度百科底部浮动导航特效
Aug 08 #Javascript
jquery实现页面虚拟键盘特效
Aug 08 #Javascript
Jquery实现顶部弹出框特效
Aug 08 #Javascript
You might like
PHP输出当前进程所有变量/常量/模块/函数/类的示例
2013/11/07 PHP
使用PHP静态变量当缓存的方法
2013/11/13 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
基于jquery实现的服务器验证控件的启用和禁用代码
2010/04/27 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
详解vue.js的事件处理器v-on:click
2017/06/27 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
layUI实现三级导航菜单效果
2019/07/26 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
浅谈Python 的枚举 Enum
2017/06/12 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
html5教程实现Photoshop渐变色效果
2013/12/04 HTML / CSS
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
Get The Label中文官网:英国运动时尚购物平台
2017/04/19 全球购物
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
户籍证明的格式
2014/01/13 职场文书
留学推荐信中文范文三篇
2014/01/25 职场文书
三年级科学教学反思
2014/01/29 职场文书
会计学专业自荐信
2014/06/25 职场文书
小学三好学生事迹材料
2014/08/15 职场文书
公安民警正风肃纪剖析材料
2014/10/10 职场文书
北京英文导游词
2015/02/12 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书
六五普法心得体会2016
2016/01/21 职场文书
redis 限制内存使用大小的实现
2021/05/08 Redis