- 看透JavaScript:原理、方法與實(shí)踐
- 韓路彪
- 288字
- 2020-11-28 15:50:46
6.1 直接量的保存方式
之前在內(nèi)存模型中介紹過,直接量直接使用兩塊內(nèi)存來保存它們的名值對,而不像對象類型那樣需要3塊內(nèi)存。明白了這一點(diǎn)我們就可以知道,直接量是各自保存各自的值,它們不會(huì)相互影響,例如下面的例子。
var m = 5; var n = m; m = 7; console.log(n); //5
這個(gè)例子中,雖然將m賦值給n,但只是將m的值賦給n,當(dāng)m發(fā)生變化時(shí),n并沒有發(fā)生變化,這一點(diǎn)和對象類型是不同的。如果是對象類型,那么賦值的時(shí)候是將對象的地址賦給新值,當(dāng)對象中的屬性發(fā)生變化時(shí)兩個(gè)對象都會(huì)發(fā)生變化,例如下面的例子。
var obj = {m:5}; var newObj = obj; obj.m = 7; console.log(newObj.m); //7
在這個(gè)例子中,obj和newObj使用的是同一個(gè)對象,當(dāng)obj中的m屬性發(fā)生變化時(shí),newObj中的m屬性也會(huì)發(fā)生變化。
推薦閱讀
- C語言程序設(shè)計(jì)實(shí)踐教程(第2版)
- 一步一步學(xué)Spring Boot 2:微服務(wù)項(xiàng)目實(shí)戰(zhàn)
- Oracle 11g從入門到精通(第2版) (軟件開發(fā)視頻大講堂)
- Maven Build Customization
- R語言編程指南
- 數(shù)據(jù)結(jié)構(gòu)(C語言)
- 用Flutter極速構(gòu)建原生應(yīng)用
- 實(shí)戰(zhàn)Java高并發(fā)程序設(shè)計(jì)(第3版)
- Web程序設(shè)計(jì)(第二版)
- Learning Apache Mahout Classification
- PLC編程與調(diào)試技術(shù)(松下系列)
- Flutter跨平臺(tái)開發(fā)入門與實(shí)戰(zhàn)
- Android開發(fā)案例教程與項(xiàng)目實(shí)戰(zhàn)(在線實(shí)驗(yàn)+在線自測)
- PHP 7+MySQL 8動(dòng)態(tài)網(wǎng)站開發(fā)從入門到精通(視頻教學(xué)版)
- Kubernetes源碼剖析