javaScript中值类型和引用类型

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/aManWithDreams/article/details/102708028

javaScript中值类型和引用类型

1.存储位置区别
  1. 值类型:存储在栈中
  2. 引用类型:对象在堆上存储,地址在栈上存储
2.类型之间传递区别
  1. 值类型之间传递:传递的是值
  2. 引用类型之间传递:传递的地址(引用)
  3. 值类型作为函数的参数,传递的是值
  4. 引用类型作为函数的参数,传递的是地址
3.举例说明
  • 值类型
var num1 = 10;
var num2 = num1;
num1 = 20;
console.log(num1);  //结果是20
console.log(num2);  //结果是10

如图所示:
在这里插入图片描述

  • 引用类型
function Person(name,age,salary) {
	this.name = name;
    this.age = age;
    this.salary = salary;
}
function f1(person) {
    person.name = "ls";
    person = new Person("aa",18,10);
}

var p = new Person("zs",18,1000);
console.log(p.name);
f1(p);
console.log(p.name);

如图所示:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/aManWithDreams/article/details/102708028
今日推荐