搜尋
首頁web前端js教程javascript的字串按引用複製和傳遞,按值來比較介紹與應用_javascript技巧

按值和按引用的比較
Numbers 和 Boolean 類型的值 (true 和 false) 是按值來複製、傳遞和比較的。當按值複製或傳遞時,將在電腦記憶體中分配一塊空間並將原值複製到其中。然後,即使更改原來的值,也不會影響複製的值(反過來也是),因為這兩個值是獨立的實體。

物件、陣列以及函數是按引用來複製、傳遞和比較的。 當按位址複製或傳遞時,實際上是建立一個指向原始項目的指針,然後就像拷貝一樣來使用該指針。如果隨後變更原始項,則將同時變更原始項和複製項(反過來也是)。實際上只有一個實體;「複本」並不是一個真正的複本,而只是該資料的另一個引用。

按引用比較時,若要比較成功,兩個變數必須參考完全相同的實體。例如,兩個不同的 Array 物件即使包含相同的元素也將比較為不相等。要比較成功,其中一個變數必須為另一個的參考。要檢查兩個陣列是否包含了相同的元素,比較 toString() 方法的結果。

最後,字串是按引用複製和傳遞的,但是是按值來比較的。請注意,假如有兩個 String 物件(用 new String("something") 建立的),按引用比較它們,但是,如果其中一個或兩者都是字串值的話,按值比較它們。

字串是按引用複製和傳遞的,但是是按值來比較的。請注意,假如有兩個 String 物件(用 new String("something") 建立的),按引用比較它們,但是,如果其中一個或兩者都是字串值的話,按值比較它們。
複製程式碼 程式碼如下:

var str1="aa";


var str1="aa";
var str =new String("aa");
var str3=str2;
function test(p){
var str4=p;
console.log(str4===str2);
}
console.log(str1===str2); //false
console.log(str3===str2); //true
test(str1);//false test(str2);//true
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Golang中最好的缓存库是什么?我们来一一比较。Golang中最好的缓存库是什么?我们来一一比较。Jun 19, 2023 pm 07:51 PM

Golang中最好的缓存库是什么?我们来一一比较。在编写Go代码时,经常需要使用缓存,例如存放一些比较耗时的计算结果或者从数据库中读取的数据等,缓存能够大大提高程序的性能。但是,Go语言没有提供原生的缓存库,所以我们需要使用第三方的缓存库。在这篇文章中,我们将一一比较几个比较流行的Go缓存库,找到最适合我们的库。GocacheGocache是一个高效的内存缓

如何在苹果笔记中使用块引号如何在苹果笔记中使用块引号Oct 12, 2023 pm 11:49 PM

在iOS17和macOSSonoma中,Apple为AppleNotes添加了新的格式选项,包括块引号和新的Monostyle样式。以下是使用它们的方法。借助AppleNotes中的其他格式选项,您现在可以在笔记中添加块引用。块引用格式可以轻松地使用文本左侧的引用栏直观地偏移部分的写作。只需点击/单击“Aa”格式按钮,然后在键入之前或当您在要转换为块引用的行上时选择块引用选项。该选项适用于所有文本类型、样式选项和列表,包括清单。在同一“格式”菜单中,您可以找到新的“单样式”选项。这是对先前“等宽

如何通过PHP在FTP服务器上进行目录和文件的比较如何通过PHP在FTP服务器上进行目录和文件的比较Jul 28, 2023 pm 02:09 PM

如何通过PHP在FTP服务器上进行目录和文件的比较在web开发中,有时候我们需要比较本地文件与FTP服务器上的文件,以确保两者之间的一致性。PHP提供了一些函数和类来实现这个功能。本文将介绍如何使用PHP在FTP服务器上进行目录和文件的比较,并提供相关的代码示例。首先,我们需要连接到FTP服务器。PHP提供了ftp_connect()函数来建立与FTP服务器

C++编译错误:未定义的引用,该怎么解决?C++编译错误:未定义的引用,该怎么解决?Aug 21, 2023 pm 08:52 PM

C++是一门广受欢迎的编程语言,但是在使用过程中,经常会出现“未定义的引用”这个编译错误,给程序的开发带来了诸多麻烦。本篇文章将从出错原因和解决方法两个方面,探讨“未定义的引用”错误的解决方法。一、出错原因C++编译器在编译一个源文件时,会将它分为两个阶段:编译阶段和链接阶段。编译阶段将源文件中的源码转换为汇编代码,而链接阶段将不同的源文件合并为一个可执行文

Go语言Web框架对比:gin vs. echo vs. irisGo语言Web框架对比:gin vs. echo vs. irisJun 17, 2023 pm 07:44 PM

随着Web开发的需求不断增加,各种语言的Web框架也逐渐多样化,Go语言也不例外。在许多Go语言的Web框架中,gin、echo和iris是三个最受欢迎的框架。在这篇文章中,我们将比较这三个框架的优缺点,以帮助您选择适合您的项目的框架。gingin是一个轻量级的Web框架,它具有高性能和灵活性的特点。它支持中间件和路由功能,这使得它非常适合构建RESTful

C++ 函数返回引用类型有什么好处?C++ 函数返回引用类型有什么好处?Apr 20, 2024 pm 09:12 PM

C++中的函数返回引用类型的好处包括:性能提升:引用传递避免了对象复制,从而节省了内存和时间。直接修改:调用方可以直接修改返回的引用对象,而无需重新赋值。代码简洁:引用传递简化了代码,无需额外的赋值操作。

如何使用 C++ 引用和指针传参?如何使用 C++ 引用和指针传参?Apr 12, 2024 pm 10:21 PM

C++中引用和指针都是传递函数参数的方法,但有区别。引用是变量的别名,修改引用会修改原始变量,而指针存储变量的地址,修改指针值不会修改原始变量。在选择使用引用还是指针时,需要考虑是否需要修改原始变量、是否需要传递空值和性能考虑等因素。

MySQL和Oracle:对于数据加密和安全传输的支持程度比较MySQL和Oracle:对于数据加密和安全传输的支持程度比较Jul 12, 2023 am 10:29 AM

MySQL和Oracle:对于数据加密和安全传输的支持程度比较引言:数据安全在如今的信息时代中变得愈发重要。从个人隐私到商业机密,保持数据的机密性和完整性对于任何组织来说都至关重要。在数据库管理系统(DBMS)中,MySQL和Oracle是两个最受欢迎的选项。在本文中,我们将比较MySQL和Oracle在数据加密和安全传输方面的支持程度,并提供一些代码示例。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),