JS中的传值和传址:基本类型值和引用类型值

基本类型值和引用类型值

首先来说一下JS中的数据类型:基本类型值和引用类型值。

基本类型值:就是简单的数据段。
引用类型值:指那些可能由多个值构成的对象。

Null,Undefined,Boolean,String,Number,这五个都是基本类型,都是按值访问的,因为可以直接操作保存在变量中的实际的值。

而引用类型值是存在内存中的对象。而js不允许直接访问内存中的位置。所以你在操作对象时,是在操作对象的引用而不是实际的对象

复制变量值

现在再来说一下复制变量值:

复制基本类型值示例

var num1 = 5;
var num2 = num1;

在这里插入图片描述
如果对于基本类型值,复制变量值,会生成一个新的值,这两个是完全独立的。你可以对它们进行任何操作而不会互相影响。

复制引用类型值示例:

var obj1 = new Object();
var obj2 = obj1;
obj1.name = 'mogu';
console.log(obj2.name);//mogu

在这里插入图片描述
复制引用类型值,复制的其实是引用,变量obj1obj2引用的都是同一个对象,所以你对任一变量进行操作,另一个变量的值也会变化。

综上:传值就是把自己的值传给另一个变量,但是大家相互独立,互不影响,对其中一个做任何操作都不会影响另一个变量的值。

传址就是把自己的‘地址’给另一个变量,你俩的操作都是对这一个地址,互相影响,所以不管对谁进行操作,你俩总是一样的。

发布了20 篇原创文章 · 获赞 38 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/jiamiao66/article/details/103680358