在《js高级程序设计》中是这么描述参数传递的:
- ECMAScript 中所有函数的参数都是按值传递的
我对这句话有所疑惑,疑惑在哪呢?请大家看

《js高级程序设计》是这么解释的:
以上代码中创建一个对象,并将其保存在了变量 person 中。然后,这个变量被传递到 setName() 函数中之后就被复制给了 obj。在这个函数内部,obj 和 person 引用的是同一个对象。换句话说,即使这个变量是按值传递的,obj 也会按引用来访问同一个对象。
what?? 按值传递为什么也会访问同一个对象,那这不就是按照引用传递吗?? 我思考了很久,发现可能是我没搞明白这里按引用传递与按值传递的含义
这里的按引用传递指的是直接传递堆内存中的数据
我们知道基本类型的数据是存放在栈内存中的,而引用类型的数据是存放在堆内存中的,定义一个对象其实是在栈内存中存储了一个指针,这个指针指向堆内存中该对象的存储地址。
