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 相关文章推荐
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
Oct 10 Javascript
ExtJS4如何给同一个formpanel不同的url
May 02 Javascript
JS的location.href跳出框架打开新页面的方法
Sep 04 Javascript
javascript创建对象、对象继承的实用方式详解
Mar 08 Javascript
EasyUI中在表单提交之前进行验证
Jul 19 Javascript
JavaScript中ES6字符串扩展方法
Aug 26 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
jQuery实现的简单图片轮播效果完整示例
Feb 08 jQuery
jQuery实现轮播图及其原理详解
Apr 12 jQuery
vue2.0实现的tab标签切换效果(内容可自定义)示例
Feb 11 Javascript
详解JavaScript原型与原型链
Nov 16 Javascript
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
May 30 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
thinkphp微信开之安全模式消息加密解密不成功的解决办法
2015/12/02 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
2016/11/01 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
利用javascript实现一些常用软件的下载导航
2009/08/03 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
基于jquery实现图片上传本地预览功能
2016/01/08 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
javascript 注释代码的几种方法总结
2017/01/04 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
使用electron实现百度网盘悬浮窗口功能的示例代码
2018/10/24 Javascript
详解JS取出两个数组中的不同或相同元素
2019/03/20 Javascript
微信小程序合法域名配置方法
2019/05/06 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
深入剖析Python的爬虫框架Scrapy的结构与运作流程
2016/01/20 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
Python 使用PIL中的resize进行缩放的实例讲解
2018/08/03 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
俄罗斯美容和健康网上商店:Созвездие Красоты
2019/07/23 全球购物
巴西最大的巴士票务门户:Quero Passagem
2020/11/21 全球购物
linux面试题参考答案(10)
2013/11/04 面试题
农行实习自我鉴定
2013/09/22 职场文书
护士实习求职信
2014/06/22 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
如何理解PHP核心特性命名空间
2021/05/28 PHP
详解Oracle数据库中自带的所有表结构(sql代码)
2021/11/20 Oracle
springboot新建项目pom.xml文件第一行报错的解决
2022/01/18 Java/Android
基于redis+lua进行限流的方法
2022/07/23 Redis
python如何利用cv2.rectangle()绘制矩形框
2022/12/24 Python