有博客解释:在程序设计中,对于函数调用通常有一下几种方法,可以归纳为 值引用和 地址引用(对象引用), 按地址传递,则传递是原来变量的地址。如果对新变量做修改,那么原来的参数也会跟着变化。 找了很多博客、回答来看,终于成功让我自己混淆了,所以开始好好根据书中介绍来做理解总结。
javascript高级程序设计这本书中介绍,ECMAScript变量可能包含两种不同数据类型的值:基本类型 和 复杂类型,其中,基本类型指的是简单的数据段,引用类型指的是那些可能由多个值构成的对象。⚠️必须注意的是,ECMAScript中所有函数的参数都是按值传递的,也就是说把函数外部的值复制给函数内部的参数,就和把一个变量复制到另一个变量一样。可以这样理解,基本类型值的传递就如同基本类型变量的复制,引用类型值的传递就如同引用类型变量的复制。严格来说,访问变量有按值和按引用两种方式,而参数只能按值传递。
基本数据类型:Undefined、Null、Boolean、Number、String,这5种
引用类型:其值是保存在内存中的对象 Object