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 相关文章推荐
js onkeypress与onkeydown 事件区别详细说明
Dec 13 Javascript
javascript和jquery修改a标签的href属性
Dec 16 Javascript
使用focus方法让光标默认停留在INPUT框
Jul 29 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
Nov 24 Javascript
异步JavaScript编程中的Promise使用方法
Jul 28 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
Jan 10 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
Jul 12 Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
May 21 Javascript
详解为生产环境编译Angular2应用的方法
Dec 10 Javascript
vue微信分享的实现(在当前页面分享其他页面)
Apr 16 Javascript
微信小程序页面滚动到指定位置代码实例
Sep 07 Javascript
7个你应该知道的JS原生错误类型
Apr 29 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
如何设置mysql允许外网访问
2013/06/04 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
JQUERY操作JSON实例代码
2010/02/09 Javascript
JavaScript中的null和undefined解析
2012/04/14 Javascript
css transform 3D幻灯片特效实现步骤解读
2013/03/27 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
vue实现点击关注后及时更新列表功能
2018/06/26 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
layui-laydate时间日历控件使用方法详解
2018/11/15 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
2021/02/07 Vue.js
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
python单元测试unittest实例详解
2015/05/11 Python
python运行时间的几种方法
2016/06/17 Python
Django admin美化插件suit使用示例
2017/12/12 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
2018/07/02 Python
eclipse创建python项目步骤详解
2019/05/10 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
2021/01/07 Python
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
村捐赠仪式答谢词
2014/01/21 职场文书
项目施工员岗位职责
2014/03/09 职场文书
交通事故责任认定书
2015/08/06 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
详解Spring Boot使用系统参数表提升系统的灵活性
2021/06/30 Java/Android
MySQL数据库实验之 触发器和存储过程
2022/06/21 MySQL