引用类型作为函数参数何解
在向函数传递引用类型的参数时,相当于把引用类型的地址复制给函数内的一个局部变量,所以局部变量和传入的参数会指向内存中的同一个对象。 局部变量的变化也会映射到传入参数
function setAge(obj){obj.age = 20; } var person = new Object(); setAge(person); console.log(person.age); // 20
解释: 我们创建了person对象,但是我们创建的person并没有age属性,然后我们通过setAge方法给函数内的局部变量obj添加了age属性,但是函数内局部变量obj的变化会映射到传入参数,这说明两者在都指向内存中的同一个地址。
然而引用类型作为参数传递并不说明引用类型传参是按引用传参的
function setAge(person){obj.age = 20;obj = {age: 30}; } var person = new Object(); setAge(person); console.log(person.age); // 20
解释:我们在函数内让person重新指向一个新的对象,等于切断了函数内局部变量obj与传入参数person的联系,即局部变量指向一个新的地址。
如果是按引用类型传递的话,那么全局变量person就会与局部变量obj指向同一个地址,那么person.age也应为30,由于不是按引用传递的,所以全局变量person还是指向原来的地址
参考自: JavaScript高级程序设计第3版
转载于:https://www.cnblogs.com/jhaosun/p/params.html
引用类型作为函数参数何解相关推荐
- PHP date函数参数详解
PHP date函数参数详解 作者: 字体:[增加 减小] 类型:转载 time()在PHP中是得到一个数字,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧 不过这样方便计算, 要找 ...
- java调用js匿名函数参数,js匿名函数作为函数参数详解
由衷的感叹,js真是烦. 学到现在,渐渐理解了什么是:语言都是通用的,没有好不好,只有擅长不擅长. 继承,多态,甚至指针,c能实现,c++,java有,javascript(和java是雷锋和雷峰塔的 ...
- matlab melbankm,Matlab v_melbankm函数参数详解(英文附例)
Matlab v_melbankm函数参数详解(英文附例) 笔者使用的是R2019的matlab,下载了voicebox安装至matlab路径下即可使用.下载voicebox请参看此博客 需要注意的是 ...
- ioctl 函数 参数 详解
2019独角兽企业重金招聘Python工程师标准>>> ioctl 函数 参数 详解 2009-04-24 11:55 ioctl函数 本函数影响由fd参数引用的一个打开的文件. # ...
- 定义一个没有参数的函数、输出python3次_Python函数参数详解,三天让你掌握python,不再是小白
原标题:Python函数参数详解,三天让你掌握python,不再是小白 引言 随着程序功能的增多,代码量随之增大,此时仍不加区分地把所有功能的实现代码放到一起,将会使得程序的组织结构不清晰,可读性变差 ...
- ES6函数参数的解构赋值,以及2种设置参数默认值方法的区别
文章目录 1. 函数参数的解构赋值方式 2. 函数参数解构设置参数默认值 1. 方法1 2. 方法2 3. 总结 1. 函数参数的解构赋值方式 下面代码中,函数add的参数表面上是一个数组,但在传入参 ...
- Matlab mfcc函数参数详解(英文附例)
Matlab mfcc函数参数详解 其实可以直接打开源代码看哈. %MFCC Extract the mfcc, log-energy, delta, and delta-delta of audio ...
- python传入参数加星号_Python 带星号(* 或 **)的函数参数详解
1. 带默认值的参数 在了解带星号(*)的参数之前,先看下带有默认值的参数,函数定义如下: >> def defaultValueArgs(common, defaultStr = &qu ...
- Matlab v_melcepst函数参数详解(英文附例)
Matlab v_melcepst函数参数详解(英文附例) 笔者使用的是R2019的matlab,下载了voicebox安装至matlab路径下即可使用.下载voicebox请参看此博客 需要注意的是 ...
最新文章
- STM32低功耗模式下GPIO如何配置最节能?
- 第三周项目二-本月有几天?
- WiFi Deauthenticated Reason Codes
- 1.5 Map集合:HashMap 和TreeMap 类
- 最大似然估计 高斯分布
- 2020-08-22 cuowu
- hdfs数据节点分发什么协议_HDFS主要节点解说(一)节点功能
- Manacher入门
- stat函数(stat、fstat、lstat)
- roboware使用过程中出出现找不到功能包的解决办法
- js获取服务器响应头信息,请问,js中请求头信息和返回头信息的方法
- 汽车上的一些名词缩写解释
- python2和3通用的头文件写法 不确定是否叫头文件 这种说法 大概就是这个意思
- 数组累加兼eval性能测试
- python3自动化软件发布系统_PythonPC客户端自动化实现原理(pywinauto)
- C语言:查找打印质数(素数)
- iOS pch文件配置
- 使用Photoshop画一个圆锥体
- 【同步与补偿】频率偏移
- 生信漫谈如何做出美美的多序列比对图
热门文章
- android 界面切换监听,Android切换页面--setContentView
- python3 解析文件类型filetype
- 卡萨帝5大高端解决方案亮相杭州展示“墅式人生”
- python可以数独游戏吗_学习python编程如何一键做出数独游戏答案 | k12教育网
- Qt+OpenCV读取摄像头视频、本地视频、网络视频流Demo
- Netty,Nginx严重落后;网络IO框架最新性能排名
- python --获取图片宽高
- [IDEA] 使用快捷键查找错误和警告
- FFmpeg Windows下安装与测试
- 人脸匹配(face matching)