淺談JS的基礎(chǔ)類型與引用類型
兩種類型:
ECMAScript變量包含兩種不同類型的值:基本類型值、引用類型值;
基本類型值:指的是保存在棧內(nèi)存中的簡單數(shù)據(jù)段;
引用類型值:指的是那些保存在堆內(nèi)存中的對象,意思是,變量中保存的實(shí)際上只是一個指針,這個指針指向內(nèi)存中的另一個位置,由該位置保存對象;
兩種訪問方式:
基本類型值:按值訪問,操作的是他們實(shí)際保存的值;
引用類型值:按引用訪問,當(dāng)查詢時,我們需要先從棧中讀取內(nèi)存地址,然后再順藤摸瓜地找到保存在堆內(nèi)存中的值;
兩種類型復(fù)制
1.基本類型變量的復(fù)制:從一個變量向一個變量復(fù)制時,會在棧中創(chuàng)建一個新值,然后把值復(fù)制到為新變量分配的位置上;
2.引用類型變量的復(fù)制:復(fù)制的是存儲在棧中的指針,將指針復(fù)制到棧中為新變量分配的空間中,而這個指針副本和原指針指向存儲在堆中的同一個對象;
復(fù)制操作結(jié)束后,兩個變量實(shí)際上將引用同一個對象;因此改變其中的一個,將影響另一個;
以上這篇淺談JS的基礎(chǔ)類型與引用類型就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript鼠標(biāo)事件監(jiān)聽、觸發(fā)時機(jī)和觸發(fā)順序?qū)嵗v解
事件監(jiān)聽是Web開發(fā)中非常重要的一個概念,掌握了它的用法,可以讓我們實(shí)現(xiàn)更加豐富和動態(tài)的交互效果,這篇文章主要給大家介紹了關(guān)于JavaScript鼠標(biāo)事件監(jiān)聽、觸發(fā)時機(jī)和觸發(fā)順序的相關(guān)資料,需要的朋友可以參考下2024-01-01Javascript 類型轉(zhuǎn)換、封閉函數(shù)及常見內(nèi)置對象操作示例
這篇文章主要介紹了Javascript 類型轉(zhuǎn)換、封閉函數(shù)及常見內(nèi)置對象操作,結(jié)合實(shí)例形式分析了JavaScript類型顯示轉(zhuǎn)換、隱式轉(zhuǎn)換、變量作用域、封閉函數(shù)及常用內(nèi)置對象相關(guān)操作技巧,需要的朋友可以參考下2019-11-11JavaScript中for與forEach分別如何跳出循環(huán)
forEach的優(yōu)勢一個是它的回調(diào)函數(shù)形成了一個作用域,它的curItem和i不會像for循環(huán)一樣污染全局變量,這篇文章主要給大家介紹了關(guān)于JavaScript中for與forEach分別如何跳出循環(huán)的相關(guān)資料,需要的朋友可以參考下2024-01-01js canvas實(shí)現(xiàn)簡單的圖像擴(kuò)散效果
這篇文章主要為大家詳細(xì)介紹了js canvas實(shí)現(xiàn)簡單的圖像擴(kuò)散效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09JS中比Switch...Case更優(yōu)雅的多條件判斷寫法
這篇文章主要給大家介紹了關(guān)于JS中比Switch...Case更優(yōu)雅的多條件判斷寫法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用JS具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09JavaScript兼容性總結(jié)之獲取非行間樣式案例
這篇文章主要介紹了JavaScript兼容性總結(jié)之獲取非行間樣式的相關(guān)資料,需要的朋友可以參考下2016-08-08