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知识点三 jquery表单对象操作
Jan 17 Javascript
JavaScript 命名空间 使用介绍
Aug 29 Javascript
js 获取元素下面所有li的两种方法
Apr 14 Javascript
Area 区域实现post提交数据的js写法
Apr 22 Javascript
js学习阶段总结(必看篇)
Jun 16 Javascript
Javascript点击按钮随机改变数字与其颜色
Sep 01 Javascript
JS实现全屏的四种写法
Dec 30 Javascript
Vuex之理解Store的用法
Apr 19 Javascript
Vue组件化开发思考
Feb 02 Javascript
JavaScript函数apply()和call()用法与异同分析
Aug 10 Javascript
详解javascript appendChild()的完整功能
Aug 18 Javascript
js+html实现点名系统功能
Nov 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变量存储的详解
2013/06/13 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
My Desktop :) 桌面式代码
2008/12/29 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
AngularJs中route的使用方法和配置
2016/02/04 Javascript
浅析JS异步加载进度条
2016/05/05 Javascript
深入理解jquery中的事件与动画
2016/05/24 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
nodejs 图片预览和上传的示例代码
2017/09/30 NodeJs
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
vue实现节点增删改功能
2019/09/26 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
浅谈JavaScript中的“!!”作用
2020/08/03 Javascript
Python中的闭包总结
2014/09/18 Python
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
python通过pil模块获得图片exif信息的方法
2015/03/16 Python
python 中random模块的常用方法总结
2017/07/08 Python
python脚本替换指定行实现步骤
2017/07/11 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
Python批量生成特定尺寸图片及图画任意文字的实例
2019/01/30 Python
详解Django-channels 实现WebSocket实例
2019/08/22 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
python 错误处理 assert详解
2020/04/20 Python
python利用递归方法实现求集合的幂集
2020/09/07 Python
python中lower函数实现方法及用法讲解
2020/12/23 Python
如何给HTML标签中的文本设置修饰线
2019/11/18 HTML / CSS
幼儿园英语教学反思
2014/01/30 职场文书
开学典礼决心书
2014/03/11 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书