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 相关文章推荐
Add Formatted Data to a Spreadsheet
Jun 12 Javascript
JS 的应用开发初探(mootools)
Dec 19 Javascript
JQuery 常用操作代码
Mar 14 Javascript
JavaScript学习历程和心得小结
Aug 16 Javascript
javascript通过class来获取元素实现代码
Feb 20 Javascript
javascript格式化json显示实例分析
Apr 21 Javascript
javascript删除数组重复元素的方法汇总
Jun 24 Javascript
Javascript动画效果(3)
Oct 11 Javascript
JavaScript实现简单的文本逐字打印效果示例
Apr 12 Javascript
详解vue 2.6 中 slot 的新用法
Jul 09 Javascript
详解Vue的watch中的immediate与watch是什么意思
Dec 30 Javascript
vscode 插件开发 + vue的操作方法
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 分页类(模仿google)-面试题目解答
2009/09/13 PHP
php采集文章中的图片获取替换到本地(实现代码)
2013/07/08 PHP
Yii框架登录流程分析
2014/12/03 PHP
9个比较实用的php代码片段
2016/03/15 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
Array.prototype.slice.apply的使用方法
2010/03/17 Javascript
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
2010/03/23 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
jQuery客户端分页实例代码
2013/11/18 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
详解如何使用Vue2做服务端渲染
2017/03/29 Javascript
Angularjs 实现移动端在线测评效果(推荐)
2017/04/05 Javascript
小程序指纹验证的实现代码
2018/12/04 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
vue+iview实现文件上传
2020/11/17 Vue.js
JavaScript 中的六种循环方法
2021/01/06 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
详解python string类型 bytes类型 bytearray类型
2017/12/16 Python
python用户管理系统
2018/03/13 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
Python求平面内点到直线距离的实现
2020/01/19 Python
python实现人机五子棋
2020/03/25 Python
anaconda3安装及jupyter环境配置全教程
2020/08/24 Python
彪马西班牙官网:PUMA西班牙
2019/06/18 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
学生喝酒检讨书
2014/02/06 职场文书
葛优非诚勿扰搞笑征婚台词
2014/03/17 职场文书
标准版离职证明书
2014/09/12 职场文书
2015年入党积极分子评语
2015/03/26 职场文书
大学生村官工作总结2015
2015/04/09 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python