Javascript中有哪些引用類型傳遞

小編給大家分享一下Javascript中有哪些引用類型傳遞,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括保定網(wǎng)站建設(shè)、保定網(wǎng)站制作、保定網(wǎng)頁(yè)制作以及保定網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,保定網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到保定省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

JS里面哪些類型是引用類型?

Object類型都是引用類型.(function,array,date,regexp..)

JS哪些類型是值傳遞?

基本類型都是值傳遞.值傳遞就是重新copy一個(gè)副本進(jìn)行傳遞.

如何把值類型的變量以引用類型的方式進(jìn)行傳遞?

通過(guò)把基礎(chǔ)類型包裝之后可以以引用類型傳遞.

ECMAScript提供了三個(gè)特殊的引用類型(基本包裝類型): Boolean,String,Number.

引用類型與基本包裝類型的區(qū)別: 對(duì)象的生存期不同.

見(jiàn)代碼:

var str = "hello js"; 
var str2 = str.substring(2,5); 


// str2的形成 在JS內(nèi)部是這樣實(shí)現(xiàn)的.

var str = new String('hello js');
var str2 = str.substring(2,5);
str = null ;

引用類型的內(nèi)存分配

如: var o = {name: ‘kobe'};

Javascript中有哪些引用類型傳遞

棧: 保存的是一個(gè)指針,指向的是對(duì)象在堆上面的內(nèi)存地址.我們通過(guò)指針句柄來(lái)操作堆上面的對(duì)象.

理解== 與 === 的區(qū)別

“===” 嚴(yán)格運(yùn)算符

嚴(yán)格運(yùn)算符的運(yùn)算規(guī)則:

1、不同數(shù)據(jù)類型

如果兩個(gè)值的類型不同,直接返回false。

2、同一類型的基本數(shù)據(jù)類型(string,boolean,number)

同一類型的原始類型的值(數(shù)值、字符串、布爾值)比較時(shí),值相同就返回true,值不同就返回false。

3、同一類型的復(fù)合數(shù)據(jù)類型

兩個(gè)復(fù)合類型(對(duì)象、數(shù)組、函數(shù))的數(shù)據(jù)比較時(shí),不是比較它們的值是否相等,而是比較它們是否指向同一個(gè)對(duì)象。

console.log( [1] === [1] ) // false

4、undefined和null

undefined 和 null 與自身嚴(yán)格相等。

console.log( null === null ) // true
console.log( undefined === undefined ) // true

“==” 相等運(yùn)算符

相等運(yùn)算符在比較相同類型的數(shù)據(jù)時(shí),與嚴(yán)格相等運(yùn)算符完全一樣。

在比較不同類型的數(shù)據(jù)時(shí),相等運(yùn)算符會(huì)先將數(shù)據(jù)進(jìn)行類型轉(zhuǎn)換,然后再用嚴(yán)格相等運(yùn)算符比較。類型轉(zhuǎn)換規(guī)則如下(以下討論的是不同類型):

1、都是原始類型的值得情況

原始類型的數(shù)據(jù)會(huì)轉(zhuǎn)換成數(shù)值類型再進(jìn)行比較。

2、對(duì)象與原始類型值比較

對(duì)象(這里指廣義的對(duì)象,包括數(shù)值和函數(shù))與原始類型的值比較時(shí),對(duì)象轉(zhuǎn)化成原始類型的值,再進(jìn)行比較。

3、undefined和null

undefined和null與其他類型的值比較時(shí),結(jié)果都為false,它們互相比較時(shí)結(jié)果為true

console.log( null == undefined ) // true

4、相等運(yùn)算符的缺點(diǎn)

相等運(yùn)算符隱藏的類型轉(zhuǎn)換,會(huì)帶來(lái)一些違反直覺(jué)的結(jié)果。

console.log( "" == "0" ) // false 
console.log( 0 == "" ) // true
console.log( 0 == "0" ) // true
console.log( false == "false" ) // false
console.log( false == "0" ) // true

還有一個(gè)就是涉及undefined的條件判斷,undefined與null的條件判斷.可能會(huì)對(duì)你的代碼造成印象.

var a = undefined;
if(!a){
 console.log("1"); //1
}

var a = undefined;
if(a === null){
 console.log("1"); //無(wú)輸出
}

以上是“Javascript中有哪些引用類型傳遞”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章題目:Javascript中有哪些引用類型傳遞
轉(zhuǎn)載來(lái)于:http://www.muchs.cn/article2/jsosic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、網(wǎng)站維護(hù)、品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作靜態(tài)網(wǎng)站、標(biāo)簽優(yōu)化

廣告

聲明:本網(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)

商城網(wǎng)站建設(shè)