携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第10天,点击查看活动详情
对象传参
对象传参分为传递值和传递地址
传递值: 对象传值,指的是把一个变量的值赋给零另外一个变量,而原来的变量的值不受影响。
var num1 = 10;
var num2 = num1;
console.log(num1);//10
console.log(num2;//10
传递地址: 传递地址这个在开发中很容易陷入坑里,当我们用=赋值的时候,并不是把值给赋过去了,而是把对象的地址给拷贝过去了(可以联想c语言中的指针),所以当我们修改一个对象的属性值,另一个也会随之变化。
var object1 = new Object();//注意这里的Object是一个函数
objct1.sex = '男';
var object2 = object1;//注意这里的是传递对象的地址而非值!!!
object2.sex = '女';//修改属性值
ps:如上代码所示,既然是传递地址,那么可见object1和object2都指向同一个地址了,在修改object2的属性值后,object1的属性值照样会变成女,其本质上两者是一个东西🎇
对象的分类
对象分为3种:宿主对象/内置对象/自定义对象
下面我们一一来看👀
宿主对象
宿主对象主要指的是由浏览器提供的对象,顾名思义,它的行为完全由宿主环境来决定,比如BOM和DOM,完全由浏览器支配。
内置对象
内置对象又细分为三类:固有对象/原生对象/普通对象,这里我们将在后面进行详细介绍
内置对象是由JS语言提供的对象,比如说:Object/string/number.....
自定义对象
自定义对象很好理解,顾名思义就是由程序员通过关键字new自己手动创建的对象,就比如说我上面提到的代码👇👇