栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

js:函数的传参都是按值传递的

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

js:函数的传参都是按值传递的

ES6中所有函数的参数都是按值传递的。这意味着函数外的值,会被复制到函数内部的参数中。

我们举个例子。

​
​
function add(num){
num+=10;
return num;
}
let count=20;
add(count);
console.log(count)//20

​

​

看,对于学过C语言或者java等的同学,这个并不是什么难事。但是我们再看这个

function setName(Obj){
   obj.name="Nicholas"
 
}
let person=new Object();
console.log(person.name)//undefined
setName(person);
console.log(person.name)//"Nicholas"

.为了证明对象是按值传递的,我们再来看看下面这个修改后的例子

function setName(Obj){
   obj.name="Nicholas"
   obj=new Object();
   obj.name="Greg";
}
let person=new Object();
console.log(person.name)//undefined
setName(person);
console.log(person.name)//"Nicholas"

.这个例子唯一的不同就是setName()中多了两行代码。但是新new出来的本地对象在函数执行结束的时候就被销毁了。

.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836050.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号