最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

JavaScript中的不可變原始值和可變對象引用

2023-08-27 08:00 作者:曉楓Motivation  | 我要投稿

在JavaScript中,原始值(undefined、null、布爾值、數(shù)字和字符串)與對象(包括數(shù)組和函數(shù))之間存在著根本的區(qū)別。原始值是不可變的,意味著它們的值無法改變。這對于數(shù)字和布爾值很容易理解:修改它們的值是沒有意義的。然而,對于字符串來說,這可能會(huì)稍微不太直觀。由于字符串類似于字符數(shù)組,可能會(huì)認(rèn)為在特定索引處修改字符是可能的。然而,JavaScript不允許這樣做。所有看似修改字符串的方法實(shí)際上都返回一個(gè)新的字符串。例如:

原始值通過其值進(jìn)行比較,意味著只有當(dāng)兩個(gè)值的值相同時(shí),它們才被認(rèn)為是相等的。這在處理數(shù)字、布爾值、null和undefined時(shí)可能聽起來令人困惑。但實(shí)際上很簡單:例如,當(dāng)比較兩個(gè)不同的字符串時(shí),只有當(dāng)它們具有相同的長度且在相同索引處的每個(gè)字符都相同時(shí),JavaScript才認(rèn)為它們是相等的。

(程序員的軟技能:ke.qq.com/course/6034346)

另一方面,對象是可變的;它們的值可以改變:

對象不是通過值進(jìn)行比較的;即使兩個(gè)具有相同屬性和值的不同對象,也不被認(rèn)為是相等的。類似地,具有相同元素且順序相同的兩個(gè)不同數(shù)組也不相等:

對象有時(shí)被稱為引用類型,與JavaScript的原始類型相對。根據(jù)這種術(shù)語,對象值是引用,對象通過引用進(jìn)行比較。換句話說,只有當(dāng)兩個(gè)對象值引用相同的底層對象時(shí),它們才相等。

從上面的代碼可以看出,將對象(或數(shù)組)賦值給一個(gè)變量實(shí)際上是賦值引用,而不是對象的新副本。如果要?jiǎng)?chuàng)建對象或數(shù)組的新副本,必須顯式地復(fù)制其屬性或元素。下面的示例演示了如何使用for循環(huán)來實(shí)現(xiàn)這個(gè)過程:

如果要比較兩個(gè)不同的對象或數(shù)組,必須比較它們的屬性或元素。下面的代碼定義了一個(gè)函數(shù),用于比較兩個(gè)數(shù)組:

(程序員的軟技能:ke.qq.com/course/6034346)



JavaScript中的不可變原始值和可變對象引用的評論 (共 條)

分享到微博請遵守國家法律
盱眙县| 万州区| 和龙市| 常德市| 盐边县| 清徐县| 紫金县| 靖西县| 句容市| 株洲市| 泗阳县| 湘潭县| 清徐县| 延庆县| 双城市| 彰武县| 阜新市| 库车县| 清涧县| 乳山市| 东至县| 清镇市| 临漳县| 博罗县| 贺兰县| 恩平市| 武威市| 秦安县| 莱阳市| 育儿| 阿坝| 桃园县| 新兴县| 彭水| 吉林省| 达日县| 八宿县| 吉林市| 县级市| 唐山市| 商城县|