這篇文章給大家分享的是有關(guān)Javascript中基本類型和引用類型是什么的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
成都創(chuàng)新互聯(lián)公司成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)網(wǎng)站開(kāi)發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢和貼心的售后服務(wù)。歡迎咨詢做網(wǎng)站需要多少錢:189808205751.基礎(chǔ)類型
A. 基礎(chǔ)類型有5種,Number,String,Boolean,Null,Undefined
B. 基礎(chǔ)類型沒(méi)有堆的概念,堆只針對(duì)引用類型。
所有基礎(chǔ)類型都是以key-value形式存放在棧中,其中,基礎(chǔ)類型的值不可變,除非是重新賦值,
比如:
var a = "1234"; a[0] = "k";//對(duì)值本身修改,無(wú)效 console.log(a)//1234 a = "k";//重新賦值 console.log(a)//k
2.引用類型
引用類型,如Array,Object,F(xiàn)unction,Date,RegExp等
所有引用類型都是以key-value形式存放在棧中,其中,引用類型的key-value存放的value是指針地址,地址指向所在的堆的某個(gè)空間 ,這個(gè)空間存放著引用類型數(shù)據(jù)的值。
注意:
引用數(shù)據(jù)的值為 “堆值”,設(shè)堆值為value1 ,堆值對(duì)象內(nèi)部的的key-value形式的value值為值中值 ,設(shè)此堆值為 “value2” ,在當(dāng)前例子中,value1是可改變的,value2是不可改變的,除非是重新賦值。
比如:
// 堆值,即value1,可改變 var a = {"name":"jack"}; a = [];//重新賦值 console.log(a)// [] // 堆值中值,即value2,與基本數(shù)據(jù)類型一樣不可改變 var a = {"name":"jack"}; a.name[0] = "0"; console.log(a)// {"name":"jack"}
3.傳值與傳址
如下圖所示:
3.1 A代碼塊是傳值
A代碼塊執(zhí)行,a和b都會(huì)在棧區(qū)開(kāi)辟一個(gè)空間用來(lái)存放值10,并且以key-value形式存放。A代碼塊是傳值
3.2 B代碼塊是傳址
B代碼塊執(zhí)行,a1會(huì)開(kāi)辟一個(gè)空間用來(lái)存放指針地址,然后a1的指針地址會(huì)賦值給b1,即b1同樣會(huì)開(kāi)辟一個(gè)空間用來(lái)放指針地址,而a1,b1指針地址指向的都是堆區(qū)的"堆值",即value1。
4.比較
4.1 基礎(chǔ)類型的比較是值的比較
比如:
var a = 1; var b = 1; console.log(a == b);//true
4.2 引用類型的比較是引用的比較
同一個(gè)引用比較是可以相等,不同引用的比較不等。
比如:
//不同引用的比較 var p1 = {}; var p2 = {}; console.log(p1 == p2) //false //不同引用的比較 var p3 = {"name":{},"age":30}; var p4 = {"name":{},"age":30}; console.log(p3.name == p4.name);//false(這個(gè)是引用比較) console.log(p3.age == p4.age);//true(這個(gè)是值比較) //同引用的比較 var p5 = {}; var p6 = p5; console.log(p5 == p6)//true
如果引用被賦值別的類型,那么當(dāng)前引用會(huì)被切斷和值的指針地址。
如下圖:
當(dāng)a1重新賦值的時(shí)候,a1和 “ 堆值--> {} ” 的聯(lián)系被替換成新的指針地址,即“ 堆值--> [] ”
感謝各位的閱讀!關(guān)于“Javascript中基本類型和引用類型是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
標(biāo)題名稱:Javascript中基本類型和引用類型是什么-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)網(wǎng)址:http://www.rwnh.cn/article24/djooje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、企業(yè)網(wǎng)站制作、微信公眾號(hào)、企業(yè)建站、網(wǎng)站設(shè)計(jì)公司、定制開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容