Home > Article > Web Front-end > How to use JS to pass by reference and pass by value
This time I will show you how to use JS to transfer by reference and transfer by value. What are the precautions for using JS to transfer by reference and value? The following is a practical case. Let’s take a look. .
Here is a detailed explanation of JS value passing and reference passing and the difference between the two. Let’s first explain thebasic concepts of these two.
In a function call, a numerical value is passed, which we call "value passing". In function calls, objects are passed, generally called "pass by reference".
1. Introduction
function func(a) { a++; } // 因为函数都没有调用,所以找不到 a console.log(a); //结果明显是undefined了。 //所以看下面两个例子。
2. Value transfer
var a = 5; function func(a) { // 函数中开辟了一个空间 a == 5 // a==6 a++; } func(5); // 结果,函数没有改变到 外部 a 的值,所以,结果是 5 console.log(a); // 函数调用中,传递是一个数值,我们称为 “值传递” // 特点: 有多个不同的空间,空间都是在栈中的 // 所以 修改函数中的空间,对外部空间是没有影响的
3. Pass by reference
var a = 5; function func() { // 开辟函数 的空间 // 函数中没有 a 的空间 // 所以,系统会自动向外面搜索 // 这里是对外部的变量进行修改 a++; } func(5); // 因为函数中修改了外部的变量 a,所以,值发生改变了,是 6 console.log(a); // 函数调用中,传递是对象,一般称为 “引用传递” // 特点: 实在存数据的空间只有一份I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website! Recommended reading:
How to use vue to hide divs by clicking on the blank space
How to use JS countdown recovery button Click function
The above is the detailed content of How to use JS to pass by reference and pass by value. For more information, please follow other related articles on the PHP Chinese website!