js中的函数参数传递原则
来源:互联网 发布:apache闪退 编辑:程序博客网 时间:2024/06/02 07:03
js中函数参数值传递和引用传递:
一.函数传递值类型:
代码实例如下:
function addNum(num){ num+=10; return num; } var num=10; var result=addNum(num); console.log(num);console.log(result);
以上代码的弹出值分别为:10和20,下面进行一下分析:
声明变量num并复制为10,这个是num是一个值类型,当为函数传递参数的时候,是将此值复制一份传递给函数,所以在函数执行之后,num本身的值并没有被改变,函数中被改变的值仅仅是一个副本而已。
二.函数传递引用类型:
function setName(obj){ obj.name="青岛新锐"; } var web=new Object(); web.name="蚂蚁部落";setName(web); console.log(web.name);
以上代码的弹出值是:“青岛新锐”,下面进行一下分析:
声明一个对象web,它是一个引用类型,当为函数传递参数的时候,是传递的web对象的引用,也就是此对象的内存地址,所以在函数中修改属性的对象就是函数外面创建的对象本身。
三.加深理解:
function setName(obj){ obj.name="青岛新锐"; obj=new Object(); obj.name="蚂蚁部落"; } var web=new Object(); setName(web); console.log(web.name);
以上代码的弹出值是:青岛新锐,很多人可能会以为将会弹出“蚂蚁部落”,下面进行一下简单的分析:
在函数外面创建一个对象,并将对象的引用赋值给变量web,web中存储的是对象在内存中的存储地址,当为函数传递参数时,就是传递的在函数外面创建的对象的地址。在函数中,为外面创建的对象创建一个自定义属性name并赋值为“青岛新锐”,然后又创建一个新的对象,并将新对象的地址赋值给obj,这个时候obj指向的并不是函数外面创建的对象,所以外面对象name属性不会被改变。
函数内创建object对象不会改变外面的属性值 web.name直接读取函数的属性
阅读全文
0 0
- js中的函数参数传递原则
- JAVA中的参数传递原则
- js中的参数传递
- 函数中的参数传递
- JS函数参数传递问题
- js函数传递两个参数
- js中函数参数传递
- js函数:参数的传递
- JS的函数参数传递
- JS中的函数(二):函数参数(你可能不知道的参数传递)
- JS中的函数(二):函数参数(你可能不知道的参数传递)
- JS中的函数(二):函数参数(你可能不知道的参数传递)
- python中的函数参数传递
- Python函数中的参数传递
- JavaScript中的函数参数传递
- Js函数中的参数
- C++函数参数中的: 值传递,地址传递,双向传递
- JS得到地址栏传递参数的函数
- 完美支持Android Things的开发板都在这里了
- 《操作系统(第三版)》个人勘误
- Windows不能在本地计算机启动MongoDB,错误代码 100
- 二.认证入门:Application形式基于ini配置文件的认证(maven项目)
- 10.10以上的系统中偏好设置不显示任意开发者的解决办法
- js中的函数参数传递原则
- EasyDSS RTMP流媒体服务器videojs flash播放RTMP/HLS提示错误的解决方案
- java script中的定时器控制文字
- centos7 python 2.7 和 python3兼容安装
- ajax知识总结系列之二
- SVG绘制中国地图
- Centos7-Tomcat启动很慢问题
- 600X笔记(week-2 简单算法与函数)
- LINUX环境配置SSH免密