javascript實現(xiàn)連續(xù)賦值
最近項目接觸,時間比較充足,到網(wǎng)上逛逛了逛無意中在網(wǎng)上發(fā)現(xiàn)了這個問題,預(yù)知的結(jié)果和真實結(jié)果相差太大。
請看下面代碼
var a={n:1}
var b=a;
a.x=a={n:2}
console.log(a.x);
console.log(b.x);
undefined
Object{n:2}
如果把代碼拆開來看,結(jié)果就是我們所想的那樣
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的賦值運算是右結(jié)合的,上面等同于a.x=(a={n:2})
js的求值運算是從左到右的(PS:和同事討論,他說是從左到右,我認(rèn)為是從右到左,最后發(fā)現(xiàn)是我錯了)
1)a.x=(括號內(nèi)的最終結(jié)果)
查找a的x屬性不存在后在a指向的對象中添加一個屬性x,這個x屬性要把一個結(jié)果賦給它,那好吧,我等著結(jié)果

2)因為是要獲得括號內(nèi)的結(jié)果,那么a.x就一直等著括號內(nèi)給他返回結(jié)果,所以開始求值a={n:2}得到結(jié)果后返回給這個新屬性x

3)回到括號內(nèi)的a={n:2},a發(fā)生指向改變了

javascript實現(xiàn)給<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").;
</script >
此代碼內(nèi)容實現(xiàn)給<a hre="">href賦值,怎么樣代碼很簡單吧。
以上內(nèi)容是本文用javascript實現(xiàn)連續(xù)賦值的全部內(nèi)容,希望對大家有所幫助,本站每天都有新的內(nèi)容更新,繼續(xù)關(guān)注喲!
相關(guān)文章
創(chuàng)建echart多個聯(lián)動的示例代碼
這篇文章主要介紹了創(chuàng)建echart多個聯(lián)動的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
“不能執(zhí)行已釋放的Script代碼”錯誤的原因及解決辦法
“不能執(zhí)行已釋放的Script代碼”錯誤的原因及解決辦法...2007-09-09
layui在form表單頁面通過Validform加入簡單驗證的方法
今天小編就為大家分享一篇layui在form表單頁面通過Validform加入簡單驗證的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
layui自定義插件citySelect實現(xiàn)省市區(qū)三級聯(lián)動選擇
這篇文章主要為大家詳細(xì)介紹了layui自定義插件citySelect實現(xiàn)省市區(qū)三級聯(lián)動選擇,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07
TypeScript與JavaScript多方面闡述對比相同點和區(qū)別
TypeScript和JavaScript在開發(fā)交互式網(wǎng)頁方面有許多相似之處,在提供TypeScript與 JavaScript的直接比較時,我們可以說JavaScript是一種輕量級的解釋型動態(tài)語言,用于增強(qiáng)HTML網(wǎng)頁,TypeScript是JavaScript的增強(qiáng)版,這意味著TypeScript是JavaScript和其他一些特性的組合2024-07-07

