黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 腳本對(duì)象引用及其副本

腳本對(duì)象引用及其副本

來(lái)源:千鋒教育
發(fā)布人:syq
時(shí)間: 2022-09-19 14:08:05 1663567685

  通過(guò)引用傳遞和傳遞的值及其在 JavaScript 中的修改。

  腳本對(duì)象引用及其副本

腳本對(duì)象引用

  在處理 JavaScript 時(shí),您將面臨與 JavaScript 如何處理其基元變量和非基元變量以及何時(shí)用作值或用作引用相關(guān)的混淆。使用值時(shí),每種方法的工作方式都不同。

  今天,我們將討論JavaScript如何定義其引用和對(duì)象,以及它將如何在不同的場(chǎng)合處理它們。

  類型

  讓我們從基礎(chǔ)開(kāi)始,有2種類型的JavaScript對(duì)象,即原始和非原始對(duì)象。基元類型包括字符串、數(shù)字、空、布爾型、BigInt、符號(hào)(新引入的)和未定義的。

  另一方面,非基元類型是存儲(chǔ)中的引用,因?yàn)樗鼈儧](méi)有定義的存儲(chǔ)。非基元類型可以在存儲(chǔ)中變大,這就是為什么JS最好地將其視為也稱為對(duì)象的引用。每個(gè)對(duì)象都是從 G小葉對(duì)象類派生而來(lái)的。

  每個(gè)對(duì)象都有一個(gè)分配的標(biāo)識(shí)符,該標(biāo)識(shí)符保存其引用的值,就像常規(guī)變量標(biāo)識(shí)符也具有其作用域和Unicode一樣。

  更新基元類型

  讓我們從基元類型開(kāi)始并更新它們。我們將首先創(chuàng)建一個(gè)字符串變量并將其分配給另一個(gè)變量,然后更新新變量并比較輸出。

1

  基元類型示例

  以下程序的輸出將是唯一的,并指出每個(gè)基元值將保存在另一個(gè)內(nèi)存地址中:

  Output - test another test

  更新非基元類型

  當(dāng)我們使用非基元類型時(shí),期望是不同的。我們將執(zhí)行與上述相同的操作,但不是更新值,而是更新內(nèi)部的屬性。

2

  非基元類型示例

  在這種情況下,輸出將更新原始對(duì)象,因?yàn)樗鼈冎赶蛳嗤奈恢茫?/p>

  Output - { name: 'another test' }

  我們可以通過(guò)使用來(lái)克隆對(duì)象,并且值將有所不同。例如Object.assign

3

  使用對(duì)象分配

  在這種情況下,輸出將不同,結(jié)果將打印原始對(duì)象,因?yàn)樗鼈冎赶虿煌膬?nèi)存地址:

  Output - { name: 'test' }

  如果我們嵌套了非原始屬性呢?

  我們正在嘗試的示例將屬性指向基元類型,但如果任何一個(gè)屬性是非基元的呢?

  讓我們看看預(yù)期的場(chǎng)景,我們將在對(duì)象內(nèi)再創(chuàng)建一個(gè)非原始屬性,并將嘗試更新最新的對(duì)象并將其與現(xiàn)有對(duì)象進(jìn)行比較:

4

  對(duì)嵌套對(duì)象使用對(duì)象分配

  該程序的輸出將是:

  Output - { name: 'test', properties: { location: 'location two' } }

  現(xiàn)在,這是一件有趣的事情,屬性是原始的,因此具有不同的位置,但是是非原始的,并且與 共享相同的地址,并且在更新時(shí)也會(huì)更新嵌套對(duì)象。這是因?yàn)橹辉陧敿?jí)創(chuàng)建屬性,而不執(zhí)行嵌套克隆。namepropertiesobj.propertiesObject.assign

  對(duì)于嵌套克隆,有一些方法,例如 。structuredClone(node v17), recursive methods, JSON.parse(JSON.stringify(obj))and third party library

  將變量傳遞給函數(shù)

  當(dāng)我們處理函數(shù)并傳遞值時(shí),有兩種方式按值傳遞變量或按引用傳遞變量。首先,讓我們了解JavaScript將如何定義將變量傳遞給函數(shù)時(shí)要執(zhí)行的操作。

  按值傳遞與按引用傳遞

  在JavaScript中,它從不顯式比較類型是值還是引用,但是當(dāng)我們調(diào)用具有很少參數(shù)的方法時(shí),會(huì)發(fā)生一個(gè)簡(jiǎn)單的機(jī)制。腳本將創(chuàng)建輸入的副本。

  由于我們創(chuàng)建的每個(gè)函數(shù)都是 Function 類的導(dǎo)數(shù),因此每個(gè)函數(shù)都有一個(gè)稱為數(shù)組的屬性,并分發(fā)給該方法。在此處閱讀有關(guān)參數(shù)的更多信息。arguments

  因?yàn)閰?shù)是非首字母類型。JavaScript 使用 rest 是作為數(shù)組傳遞的參數(shù),當(dāng)函數(shù)內(nèi)的任何變量更新時(shí),它是一個(gè)參數(shù)關(guān)鍵字進(jìn)行更新。Object.assign(arguments, [...rest])

  由于我們創(chuàng)建了一個(gè)新的 Argument 實(shí)例,如果值是基元的,它將為非基元?jiǎng)?chuàng)建一個(gè)新地址,它將指向相同的實(shí)例變量。

  傳遞基元類型

  現(xiàn)在,我們知道函數(shù)將創(chuàng)建一個(gè)新變量,因此傳遞基元類型似乎沒(méi)有任何問(wèn)題,并且變量將保持其原始狀態(tài)。

5

  將值傳遞給方法的基元示例

  以下程序的輸出將是其原始狀態(tài),無(wú)需修改:

  Output - test

  傳遞非基元類型并更新其引用

  當(dāng)傳遞非基元類型時(shí),它還會(huì)創(chuàng)建一個(gè)副本,并且將引用該值。但是當(dāng)更新引用時(shí),它現(xiàn)在將指向另一個(gè)變量,因?yàn)槲覀兿蛩峁┝艘粋€(gè)副本,而不是一個(gè)實(shí)際的對(duì)象。

6

  將值傳遞給方法的非基元示例

  以下程序的輸出仍將處于其原始狀態(tài),無(wú)需進(jìn)行任何修改,因?yàn)槲覀兏铝艘帽旧恚?/p>

  Output - { name: 'test' }

  傳遞非基元類型并更新其屬性

  按照上面的示例,如果我們更新引用,那么它將指向一個(gè)新的內(nèi)存地址,但是如果我們更新屬性,那么它將更新值。

7

  將非基元值傳遞給方法和更新屬性的示例

  以下程序的輸出將不會(huì)處于其原始狀態(tài),并且 name 屬性將分配一個(gè)新值,因?yàn)橐貌粫?huì)使用相同的標(biāo)識(shí)符進(jìn)行修改和更新。

  Output - { name: 'another test' }

  結(jié)論

  JavaScript是一種令人驚訝的語(yǔ)言,當(dāng)在深層次上使用時(shí),它的所有實(shí)現(xiàn)都有其調(diào)整。最復(fù)雜的情況是,當(dāng)我們處理一個(gè)嵌套對(duì)象時(shí),每個(gè)對(duì)象都有自己唯一的共享標(biāo)識(shí)符。因此,建議使用所需的引用,并始終創(chuàng)建具有屬性的嵌套對(duì)象以避免沖突。Object.assign

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Visual Studio Online和GitHub有什么區(qū)別?

1.定位不同Visual Studio Online,現(xiàn)更名為Visual Studio Codespaces,是微軟提供的一款在線開(kāi)發(fā)環(huán)境,允許開(kāi)發(fā)者在云端進(jìn)行編程和調(diào)試工作。而...詳情>>

2023-10-15 00:21:42
什么是域控制器?

一、域控制器的定義域控制器是指在Windows Server操作系統(tǒng)中部署Active Directory服務(wù)的服務(wù)器。Active Directory是微軟公司開(kāi)發(fā)的目錄服務(wù),用...詳情>>

2023-10-15 00:10:28
深度學(xué)習(xí)模型權(quán)重h5、weights、ckpt、pth有什么區(qū)別?

1.來(lái)源框架不同h5格式通常用于Keras和TensorFlow框架,weights用于Darknet框架,ckpt是TensorFlow框架的一種格式,而pth則主要用于PyTorch框架...詳情>>

2023-10-15 00:05:17
大數(shù)據(jù)測(cè)試工程師需要具備哪些技能?

一、理解大數(shù)據(jù)概念大數(shù)據(jù)測(cè)試工程師需要理解大數(shù)據(jù)的基本概念和原理,如分布式存儲(chǔ)、MapReduce、實(shí)時(shí)計(jì)算等。他們還需要了解如何處理大規(guī)模的...詳情>>

2023-10-14 23:43:03
為什么SpringBoot的 jar 可以直接運(yùn)行?

一、JAR文件的結(jié)構(gòu)與執(zhí)行方式Spring Boot的JAR包是Java Archive的縮寫,它是一種壓縮文件格式,可以將Java項(xiàng)目的類文件、資源文件以及依賴庫(kù)等...詳情>>

2023-10-14 23:01:49
快速通道
日韩中文字幕一区二区不卡| 国产成人精品综合在线| 香蕉视频久久| 日日日夜夜操| 国产高清视频免费观看| 国产麻豆精品视频| 久久国产精品自由自在| 日本特黄特色aaa大片免费| 亚洲第一页色| 欧美激情一区二区三区在线播放 | 亚洲精品中文字幕久久久久久| 欧美激情伊人| 天天做日日干| 欧美日本免费| 黄视频网站在线观看| 精品视频免费观看| 成人a大片在线观看| 国产麻豆精品视频| 一a一级片| 精品国产一区二区三区久| 久久精品欧美一区二区| 青青久热| 欧美大片一区| 999久久66久6只有精品| 天天色成人| 色综合久久天天综合绕观看| 午夜久久网| 欧美一级视频高清片| 国产一区二区精品| 黄视频网站在线看| 色综合久久手机在线| 日韩在线观看免费完整版视频| 日韩中文字幕一区| 精品国产香蕉在线播出| 欧美一级视频高清片| 国产不卡在线观看视频| 精品视频免费观看| 国产激情一区二区三区| 一a一级片| 日韩专区一区| 久久国产影视免费精品| 国产91丝袜在线播放0| 亚飞与亚基在线观看| 可以在线看黄的网站| 一级毛片看真人在线视频| 日韩中文字幕在线观看视频| 二级片在线观看| 国产一区二区精品久久91| 亚洲精品中文一区不卡| 午夜久久网| 国产一区二区精品久久91| 黄色免费三级| 999久久久免费精品国产牛牛| 一级女人毛片人一女人| 99久久网站| 亚欧成人乱码一区二区| 国产不卡在线观看视频| 一级毛片视频在线观看| 一级女性全黄生活片免费| 一本高清在线| 香蕉视频久久| 国产一区二区精品久久| 可以免费在线看黄的网站| 亚洲女初尝黑人巨高清在线观看| 一级毛片看真人在线视频| 高清一级毛片一本到免费观看| 日本特黄特黄aaaaa大片| 亚久久伊人精品青青草原2020| 国产不卡精品一区二区三区| 精品久久久久久中文字幕2017| 欧美激情一区二区三区视频高清 | 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 超级乱淫伦动漫| 精品视频免费观看| 国产a视频| 精品国产一区二区三区国产馆| 午夜在线影院| 久久福利影视| 国产视频久久久| 欧美另类videosbestsex久久 | 99久久精品国产高清一区二区| 99热视热频这里只有精品| 一级女人毛片人一女人| 国产不卡在线看| 国产a免费观看| 国产精品12| 国产不卡在线观看视频| 欧美大片一区| 国产高清在线精品一区二区| 黄视频网站在线免费观看| 亚洲 激情| 精品国产一区二区三区久| 九九久久99| 亚飞与亚基在线观看| 精品久久久久久影院免费| 天天做日日爱| 久久国产精品永久免费网站| 国产成人啪精品视频免费软件| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 91麻豆tv| 免费毛片播放| 精品国产三级a| 亚欧乱色一区二区三区| 韩国三级视频网站| a级黄色毛片免费播放视频| 欧美1区| 久久99青青久久99久久| 欧美激情伊人| 高清一级片| 午夜在线观看视频免费 成人| 欧美另类videosbestsex久久 | 国产网站免费视频| 九九久久99| 韩国毛片| 99久久精品国产片| 国产一区二区精品尤物| 99久久精品国产高清一区二区| 青青久久精品国产免费看| 亚洲精品久久玖玖玖玖| 成人a级高清视频在线观看| 国产91精品一区| 欧美a级v片不卡在线观看| 香蕉视频久久| 在线观看导航| 美女免费毛片| 在线观看导航| 九九精品久久久久久久久| 国产伦精品一区二区三区无广告| 91麻豆精品国产自产在线观看一区 | 日本在线播放一区| 国产一区免费观看| 国产亚洲免费观看| 美女被草网站| 黄视频网站免费观看| 日韩专区亚洲综合久久| 精品久久久久久中文字幕一区| 精品视频免费在线| 日本特黄特黄aaaaa大片| 麻豆网站在线看| 韩国毛片| 91麻豆精品国产自产在线| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日日爽天天| 国产91素人搭讪系列天堂| 久久国产影视免费精品| 欧美另类videosbestsex久久| 国产麻豆精品高清在线播放| 精品国产一区二区三区免费| 99色视频在线| 久久精品欧美一区二区| 毛片高清| 日日夜夜婷婷| 韩国三级视频网站| 精品视频在线看| 日韩男人天堂| 国产一区二区精品久久91| 国产麻豆精品hdvideoss| 黄视频网站在线看| 欧美一级视频高清片| 日韩在线观看免费完整版视频| 你懂的日韩| 日韩中文字幕在线亚洲一区| 欧美激情影院| 国产不卡福利| 91麻豆精品国产自产在线| 九九久久国产精品大片| 天天做日日干| 日韩综合| 国产一区免费在线观看| 欧美另类videosbestsex高清| 91麻豆精品国产综合久久久| 日本特黄一级| 999久久狠狠免费精品| 久久精品免视看国产明星 | 久久国产精品自由自在| 国产精品12| 日本伦理网站| 91麻豆精品国产综合久久久| 成人免费高清视频| 在线观看成人网| 欧美大片a一级毛片视频| 欧美激情一区二区三区视频高清| 91麻豆精品国产片在线观看| 高清一级淫片a级中文字幕| 青青久久国产成人免费网站| 日韩男人天堂| 国产伦精品一区二区三区无广告 | 成人高清视频在线观看| 黄视频网站免费看| 免费国产一级特黄aa大片在线| 久久99中文字幕久久| 欧美国产日韩久久久| 久久99中文字幕| 欧美激情伊人| 91麻豆精品国产高清在线| 久久国产精品自线拍免费| 久久成人综合网| 日韩专区一区| 高清一级淫片a级中文字幕| 亚洲精品久久玖玖玖玖|