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 相关文章推荐
体验js中splice()的强大(插入、删除或替换数组的元素)
Jan 16 Javascript
页面定时刷新(1秒刷新一次)
Nov 22 Javascript
js操作XML文件的实现方法兼容IE与FireFox
Jun 25 Javascript
js中用cssText设置css样式的简单方法
Sep 19 Javascript
学习vue.js条件渲染
Dec 03 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
Mar 17 Javascript
ECMAScript6--解构
Mar 30 Javascript
jQuery操作之效果详解
May 19 jQuery
Vue中组件之间数据的传递的示例代码
Sep 08 Javascript
JS实现的JSON序列化操作简单示例
Jul 02 Javascript
Node.js中的不安全跳转如何防御详解
Oct 21 Javascript
关于JSON解析的实现过程解析
Oct 08 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性能优化准备篇图解PEAR安装
2011/12/05 PHP
php在服务器执行exec命令失败的解决方法
2012/03/03 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
php的4种常见运行方式
2015/03/20 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
Google韩国首页图标动画效果
2007/08/26 Javascript
JavaScript程序员应该知道的45个实用技巧
2014/03/04 Javascript
实例讲解JS中数组Array的操作方法
2014/05/09 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
vue 纯js监听滚动条到底部的实例讲解
2018/09/03 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
vue插槽slot的简单理解与用法实例分析
2020/03/14 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
2020/04/11 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
[02:58]献给西雅图的情书_高清
2014/05/29 DOTA
分享给Python新手们的几道简单练习题
2017/09/21 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
python绘制评估优化算法性能的测试函数
2019/06/25 Python
铭宣海淘转运:美国、日本、英国转运等全球转运公司
2019/09/10 全球购物
家长评语和期望
2014/02/10 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
超市促销活动总结
2014/07/01 职场文书
python读取pdf格式文档的实现代码
2021/04/01 Python
goland 清除所有的默认设置操作
2021/04/28 Golang
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL
Python绘画好看的星空图
2022/03/17 Python