再次学习javascript中的參数传递

 javascript中的全部函数的參数传递都是依照值传递的,做了以下測试:

  

function addTen(num){num +=10;return num;
}var count = 20;
var result = addTen(count);
alert(cont);		//20
alert(result);	//30
  好吧。上面仅仅是做了基本类型的传递,再做个引用类型的传递看看:

function setName(obj){obj.name="Mark";
}var person = new Object();
setName(person);
alert(person.name);		//Mark
这样看起来是引用传递,不是值传递,那么再做个測试:

function setName(obj){obj.name="Mark";obj = new Object();obj.name = "David";
}var person = new Object();
setName(person);
alert(person.name);		//Mark
这个样例与前面一个样例的唯一的差别就是在setName()的函数后面添加 了两行代码:一行代码为obj又一次定义了个对象。还有一行代码为该对象定义了一个带有不同值的name属性。在把persion传递给setName()函数后,其name属性被设置为Mark,然后将一个新对象赋值给obj,同一时候其name属性设置为David。假设person是依照引用传递的,那么person就会自己主动被改动为指向其name属性值为David的新对象。可是,当接下再訪问person.name时。显示的值仍是Mark。这说明即使在函数内部改动了參数的值。但原始的引用仍然保持未变。实际上。当在函数内部重写obj时,这个变量引用的就是一个局部对象了。而这个局部对象会在函数运行完后被销毁。


转载于:https://www.cnblogs.com/ldxsuanfa/p/9944851.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于spring-boot和elfinder的在线文件管理

基于spring-boot和elfinder的在线文件管理 大家好,我是帅气小伙,今天为大家分享的是一个轮子,最近在项目中需要一些CMS的功能,在线管理一些静态资源文件,在经过一番资料查找,最终决定使用elfinder。它的官方…

bzoj 4736: 温暖会指引我们前行 (LCT 维护最大生成树)

链接:https://www.lydsy.com/JudgeOnline/problem.php?id4736 题面: 寒冬又一次肆虐了北国大地 无情的北风穿透了人们御寒的衣物 可怜虫们在冬夜中发出无助的哀嚎 “冻死宝宝了!” 这时 远处的天边出现了一位火焰之神 “我将赐予你们温暖和希…

WPF使用IDataErrorInfo进行数据校验

WPF使用IDataErrorInfo进行数据校验 原文:WPF使用IDataErrorInfo进行数据校验这篇博客将介绍如何使用IDataErrorInfo进行数据校验。下面直接看例子。一个Customer类,两个属性(FirstName, Age) class Customer {public string FirstName{get;set;}public int Age{get…

web 界面设计 Axure元件样式

找不到原创了,若侵权,请联系博主删除!谢谢

cf 786 B 线段树优化建图

cf 786 B 链接 CF 思路 n个点,3种建边方式,规模\(O(n^2)\) 线段树优化建图 注意 读入的数据好坑啊,说好的v,u变成了u,v。 两棵树,一棵出,一棵入。线段树的作用只不过是按照那个形状建边而已,并没啥用。 初始…

mysql -uroot -p -P3306 -h192.168.0.111无法远程连接mysql

1 在装有MySQL的机器上登录MySQL mysql -u root -p密码2 执行USE mysql; 3 执行UPDATE user SET host % WHERE user root;这一句执行完可能会报错,不用管它4 执行FLUSH PRIVILEGES; 4---> 刷新权限表,更改后需执行才能生效。 一篇博客:h…

iPhone6和iPhone6 plus的iOS8设计尺寸参考指南

找不到原创了,若侵权,请联系博主删除!谢谢

欧几里得

转载于:https://www.cnblogs.com/morui/p/10799359.html

pl/sql下DBMS_OUTPUT.PUT_LINE的输出位置

项目里存储过程中用到DBMS_OUTPUT.PUT_LINE进行输出日志,一开始不知道在哪里看,网上很多都是直接运行后的位置。但是储过程中的日志找了好一会,记录一下。 1、运行时输出位置。 declarein_interval_start_id varchar2(40);in_interval_end_id…

javaweb学习总结(四十五)——监听器(Listener)学习二

一、监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信息事件的监听器。 这三个监听器接口分别是ServletContextAttributeListener, HttpSessionAttributeListener 和Ser…

Excel_DATEDIF函数计算工龄、计算年假

基本语法 DATEDIF(开始日期,结束日期,unit) 基本用法: 实战: 1、计算工龄: 2、计算年假 转载于:https://www.cnblogs.com/wodexk/p/10799890.html

Cordova - 彻底搞定IOS编译!

操作系统:OSX10.14 XCode:10.1 Cordova:8.1.2 假设已经配置好了Cordova开发环境,Apple ID你也有,XCode也可以正常工作了,那么就可以继续看这篇文章了! 如果你没有看我这篇文章,那么你…

javaweb学习总结(四十四)——监听器(Listener)学习

一、监听器介绍 1.1、监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。监听器其 实就是一个实现特定接口的普通java程序,这个程序专门用于监听…

第一期冲刺01

1、我昨天的成就 确定了软件所满足的需求 2、遇到什么困难 跟航哥有太多想要实现的,但后续慢慢找到了重点 3、今天的任务 安装安卓studio 配置好编程所需要的环境 转载于:https://www.cnblogs.com/zjm15511858030/p/11065660.html

vue无缝滚动的插件开发填坑分享

写插件的初衷 1.项目经常需要无缝滚动效果,当时写jq的时候用用msClass这个老插件,相对不上很好用。2.后来转向vue在vue-awesome没有找到好的无缝滚动插件,除了配置swiper可以实现但是相对来说太重了,于是自己造了个轮子。 3.在这分…

Spring 注解 @Resource和@Autowired

Resource和Autowired两者都是做bean的注入使用。 其实Resource并不是Spring的注解,他的包是javax.annotation.Resource 需要导入。但是Spring支持该注解的注入。 共同点:两者都可以写在字段和setter方法上。两者如果都写在字段上,就不需要写…

洛谷 P1091 合唱队型

很容易想到维护一个最长上升子序列和一个最长下降子序列。然后枚举一个点k,取所有以k结尾的最长上升子序列和以k开头的最长下降子序列的长度的和中最大的,表示留下的人数。再用总人数减去这个,等于出队人数 另外类似的一道题:最长…

PHP常用的自定义函数

PHP常用的自定义函数 目录 php常用自定义函数类下载php 设置字符编码为utf-8路径格式化(替换双斜线为单斜线)转码打印输出api返回信息字符串截取 方法一:方法二:数组 字符串 对象 json格式的字符串互转强制类型转换php序列化serialize与返回序列化unserialeze创建日志文件获取i…

Spring注解@Component、@Repository、@Service、@Controller区别

很长时间没做web项目都把以前学的那点框架知识忘光了,今天把以前做的一个项目翻出来看一下发现用Component标记一个组件,而网上有的用Service标记组件,我晕就查了一下资料: Spring 2.5 中除了提供 Component 注释外,还…

春第十周作业

作业: 这个作业属于那个课程C语言程序设计II这个作业要求在哪里https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/3162我在这个课程的目标是阅读并学习这个作业在那个具体方面帮助我实现目标知道了我们以后工作所需的是雇主所需的参…