美文网首页
参数按值传递

参数按值传递

作者: 怪物猎人 | 来源:发表于2018-03-23 11:02 被阅读0次

参考

JavaScript深入之参数按值传递
JavaScript高级程序设计(第3版)

基本类型


举个例子:

var num1= 5;
function foo(num2) {
    num2 = 2;
    console.log(num2); //2
}
foo(num1);
console.log(num1) // 1

在此,num1 中保存的值是5。当传递 num1 到函数 foo 中时,num2 中也保存了值5,但 num2 中的5与 num1 中的5是完全独立的,该值只是 num1 中5的一个副本。此后,这两个变量可以参与任何操作而不会互相影响。
传递过程如下图所示:

引用类型


举个例子:

var obj1 = {
    value: 1
};
function foo(obj2) {
    obj2.value = 2;
    console.log(obj2.value); //2
}
foo(obj1);
console.log(obj1.value) // 2

在此,首先 obj1 保存了一个对象的实例,然后,这个值被复制到了 obj2 中,换句话说 obj1 和 obj2 都指向同一个对象。
传递过程如下图所示:

相关文章

  • 方法参数

    一、参数传递 1.参数传递有两种类型:按值传递和按引用传递。 2.按值传递指变量使用的是参数传递的值,而按引用传递...

  • 按值传递与按引用传递

    按值传递 -- 传递的是参数的值,即参数本身。 按引用传递 -- 传递的是指向参数的值的引用(指针),而不是参数的...

  • 再学JS--函数参数传递类型

    JavaScript的函数参数传递分为按值传递、按引用传递以及按共享传递。 按值传递 什么是按值传递? 把函数外部...

  • golang学习笔记9:函数参数与返回值

    按值传递和按引用传递 Go 默认使用按值传递来传递参数,也就是传递参数的副本。函数接收参数副本之后,在使用变量的过...

  • 2019-06-26

    深入理解JavaScript 参数按值传递 定义:ECMAScript中所有函数的参数都是按值传递的。 值传递:函...

  • golang笔记之函数

    函数参数传递类型 1.按值传递:Go 默认使用按值传递来传递参数,也就是传递参数的副本。 2.引用传递:如果你希望...

  • Java中的参数传递

    为了便于理解,会将参数传递分为按值传递和按引用传递。按值传递是传递的值的拷贝,按引用传递传递的是引用的地址值,所以...

  • 聊聊Java内部类

    一.磨叽磨叽Java值传递与引用传递 “在Java里面参数传递都是按值传递”即:按值传递是传递的值的拷贝,按引用传...

  • 参数按值传递

    参考 JavaScript深入之参数按值传递JavaScript高级程序设计(第3版) 基本类型 举个例子: 在此...

  • 参数按值传递

    参数如果是基本类型是按值传递,如果是引用类型按共享传递。 1、按值传值 2、共享传值 共享传值: 按引用传递是传...

网友评论

      本文标题:参数按值传递

      本文链接:https://www.haomeiwen.com/subject/rkvtcftx.html