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 相关文章推荐
use jscript Create a SQL Server database
Jun 16 Javascript
用JavaScript调用WebService的示例
Apr 07 Javascript
Extjs ajax同步请求时post方式参数发送方式
Aug 05 Javascript
让FireFox支持innerText的实现代码
Dec 01 Javascript
Node.js(安装,启动,测试)
Jun 09 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
Dec 13 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
Jul 03 Javascript
详解webpack的配置文件entry与output
Aug 21 Javascript
优雅的在React项目中使用Redux的方法
Nov 10 Javascript
React通过redux-persist持久化数据存储的方法示例
Feb 14 Javascript
Vue使用watch监听一个对象中的属性的实现方法
May 10 Javascript
Vuex的各个模块封装的实现
Jun 05 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高级OOP技术演示
2009/08/27 PHP
php+ajax实时输入自动搜索匹配的方法
2014/12/26 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
2012/05/24 Javascript
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
移动端js触摸事件详解
2016/09/18 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
2019/04/04 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
VUE 解决mode为history页面为空白的问题
2019/11/01 Javascript
js实现简单的倒计时
2021/01/28 Javascript
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
Sanic框架应用部署方法详解
2018/07/18 Python
Django中使用Celery的教程详解
2018/08/24 Python
聊聊python里如何用Borg pattern实现的单例模式
2019/06/06 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
Python修改DBF文件指定列
2020/12/19 Python
python性能测试工具locust的使用
2020/12/28 Python
用HTML5 实现橡皮擦的涂抹效果的教程
2015/05/11 HTML / CSS
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
咖啡店自主创业商业计划书
2014/01/22 职场文书
授权委托书
2014/09/17 职场文书
公安四风对照检查材料思想汇报
2014/10/11 职场文书
2015年计划生育责任书
2015/05/08 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android