真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Javascript中基本類型和引用類型是什么

這篇文章給大家分享的是有關(guān)Javascript中基本類型和引用類型是什么的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),湟中企業(yè)網(wǎng)站建設(shè),湟中品牌網(wǎng)站建設(shè),網(wǎng)站定制,湟中網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,湟中網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

 1.基礎(chǔ)類型

A. 基礎(chǔ)類型有5種,Number,String,Boolean,Null,Undefined

B. 基礎(chǔ)類型沒有堆的概念,堆只針對(duì)引用類型。

所有基礎(chǔ)類型都是以key-value形式存放在棧中,其中,基礎(chǔ)類型的值不可變,除非是重新賦值,

比如:

var a = "1234";
a[0] = "k";//對(duì)值本身修改,無效
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ū)開辟一個(gè)空間用來存放值10,并且以key-value形式存放。A代碼塊是傳值

3.2 B代碼塊是傳址

B代碼塊執(zhí)行,a1會(huì)開辟一個(gè)空間用來存放指針地址,然后a1的指針地址會(huì)賦值給b1,即b1同樣會(huì)開辟一個(gè)空間用來放指針地址,而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ì)被切斷和值的指針地址。

如下圖:

Javascript中基本類型和引用類型是什么

當(dāng)a1重新賦值的時(shí)候,a1和 “ 堆值--> {} ” 的聯(lián)系被替換成新的指針地址,即“ 堆值--> [] ”

感謝各位的閱讀!關(guān)于“Javascript中基本類型和引用類型是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


文章名稱:Javascript中基本類型和引用類型是什么
網(wǎng)址分享:http://weahome.cn/article/ipcjei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部