js函数传递机制

js函数里面的参数传递为值传递(js函数会将参数拷贝一份来使用),下面为两种示例,一种为基本数据类型,一种为对象

基本数据类型

输出结果为10;该代码等价于下图代码

复合对象类型(1)

输出结果为[1,2,3,4],由于对象在赋值之后指向的是同一个地址,所以改变函数里面的对象也就改变了外面的对象

等价于下图

复合对象类型(2)

输出结果为[1,2,3],由于对象在new的时候会新建一个内存并指向它,所以函数里面改变的对象并不能影响外面的对象

等价于下图

 

posted @ 2017-07-18 23:54  Story.and.Wine  阅读(243)  评论(0)    收藏  举报