时间:2021-05-26
最近项目接触,时间比较充足,到网上逛逛了逛无意中在网上发现了这个问题,预知的结果和真实结果相差太大。
请看下面代码
var a={n:1}var b=a;a.x=a={n:2}console.log(a.x); console.log(b.x);undefinedObject{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属性要把一个结果赋给它,那好吧,我等着结果
2)因为是要获得括号内的结果,那么a.x就一直等着括号内给他返回结果,所以开始求值a={n:2}得到结果后返回给这个新属性x
3)回到括号内的a={n:2},a发生指向改变了
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://";</script >此代码内容实现给<a hre="">href赋值,怎么样代码很简单吧。
以上内容是本文用javascript实现连续赋值的全部内容,希望对大家有所帮助,本站每天都有新的内容更新,继续关注哟!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JavaScript中的连续赋值问题。分享给大家供大家参考,具体如下:JavaScript中的连续赋值:vara={n:1}varb=a;a.x=
本文实例讲述了javascript引用赋值(地址传值)用法。分享给大家供大家参考。具体如下:javascript在默认情况下,数组、对象和函数是引用赋值,如下代
在html页中,定义了TextBox控件,复制代码代码如下:纬度:经度:在javascript中直接赋值给这两个控件:复制代码代码如下://赋值给页面变量doc
在Python中函数可以作为参数进行传递,而也可以赋值给其他变量(类似Javascript,或者C/C++中的函数指针);类似Javascript,Python
一个简单的jQuery计算器,只是实现了一个连续计算的功能Javascript计算器789+456-123*0=c/varnum0=null;varnum1=n