javascript - js中 加等于的累加賦值問(wèn)題求解
問(wèn)題描述
第一張圖片 我能理解 在變量a中 +=過(guò)后 a的值是18
第二張圖片 我首先創(chuàng)建了一個(gè)style的標(biāo)簽(第一個(gè)紅線),然后再style標(biāo)簽中賦予新的屬性和值,如果第一個(gè)賦值我可以用等于,但是其后的賦值我必須要用加等于才能讓前面的賦值不會(huì)被覆蓋,等于是做了一個(gè)累加操作,(后面的三四根紅線是+=,第二根是等于),那為什么第一種圖片的變量a最后的值是多次累加后的值,而第二種的是累加且依次展現(xiàn),這個(gè)+=的累加邏輯是怎么表達(dá)的?
問(wèn)題解答
回答1:第一個(gè)是數(shù)字累加,第二個(gè)累加相當(dāng)于拼接字符串,你可以換成模板字符串的方式,處理起來(lái)比較方便,如下所示。
var cssNode=document.createElement(’style’);var middle=’b’;cssNode.innerHTML=’a’;cssNode.innerHTML+= `--- ${middle}----`;cssNode.innerHTML+=’c’;console.log(cssNode.innerHTML);//輸出: a--- b----c回答2:
第一種是數(shù)字,+ 相當(dāng)于加法。
第二種是字符串,+ 相當(dāng)于連接。
回答3:沒(méi)太懂你想表達(dá)什么,就最后一句話的回答:a+=b就相當(dāng)于a = a + b
回答4:cssNode.innerHtml += “...”; 等同于cssNode.innerHtml = cssNode.innerHtml +'...'。而每次改變innerHtml都會(huì)重發(fā)html元素的重繪(嚴(yán)格的說(shuō),包括重排和重繪,對(duì)應(yīng)的英文reflow和repaint)這就是問(wèn)什么依次展現(xiàn)
如果想最終展現(xiàn)一次,就定義一個(gè)變量例如myInnerHtml,對(duì)它做+=操作,最后給cssNode.innerHtml = myInnerHtml
回答5:先定義一個(gè)字符數(shù)變量,最后再賦值給innerHtml
相關(guān)文章:
1. docker images顯示的鏡像過(guò)多,狗眼被亮瞎了,怎么辦?2. Java:密碼包(加密和解密)。無(wú)效的密鑰錯(cuò)誤3. css - 微信小程序點(diǎn)擊展開,再次點(diǎn)擊收回4. 點(diǎn)擊頁(yè)面就自動(dòng)輸入到mysql.求解5. macos - mac下docker如何設(shè)置代理6. css - vue.js的vue單文件組件style中的scoped屬性無(wú)效7. angular.js - 在ng-option 里使用過(guò)濾器無(wú)效8. node.js - 求問(wèn)nw.js開發(fā)桌面版,其js計(jì)算性能如何?9. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?10. thinkphp5.1學(xué)習(xí)時(shí)遇到session問(wèn)題
