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 相关文章推荐
几款极品的javascript压缩混淆工具
May 16 Javascript
ext 代码生成器
Aug 07 Javascript
收集的一些Array及String原型对象的扩展实现代码
Dec 05 Javascript
通过action传过来的值在option获取进行验证的方法
Nov 14 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
Oct 28 Javascript
jQuery插件实现文字无缝向上滚动效果代码
Feb 25 Javascript
javascript ASCII和Hex互转的实现方法
Dec 27 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
Aug 13 Javascript
javascript 模块依赖管理的本质深入详解
Apr 30 Javascript
详解webpack的clean-webpack-plugin插件报错
Oct 16 Javascript
JS 4个超级实用的小技巧 提升开发效率
Oct 05 Javascript
详解Vue3使用axios的配置教程
Apr 29 Vue.js
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
elgg 获取文件图标地址的方法
2010/03/20 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
2016/01/07 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
php生成与读取excel文件
2016/10/14 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
详解Webpack实战之构建 Electron 应用
2017/12/25 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
vue+element实现表单校验功能
2019/05/20 Javascript
element-ui 中使用upload多文件上传只请求一次接口
2019/07/19 Javascript
layUI实现三级导航菜单效果
2019/07/26 Javascript
小程序实现密码输入框
2020/11/16 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
浅析Python中yield关键词的作用与用法
2016/11/29 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
详解pandas安装若干异常及解决方案总结
2019/01/10 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
python实现拼图小游戏
2020/02/22 Python
jupyter notebook 参数传递给shell命令行实例
2020/04/10 Python
Python pytesseract验证码识别库用法解析
2020/06/29 Python
PyTorch: Softmax多分类实战操作
2020/07/07 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
基本款天堂:Everlane
2017/05/13 全球购物
extern在函数声明中是什么意思
2014/01/19 面试题
优秀团员个人的自我评价
2013/10/02 职场文书
放飞梦想演讲稿
2014/05/05 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
《海上日出》教学反思
2016/02/23 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle