美文网首页
基本类型和引用类型作为函数参数传递

基本类型和引用类型作为函数参数传递

作者: praycis | 来源:发表于2018-03-07 15:49 被阅读0次

基本类型是按值传递的:

var a = 1;
var b = function(num) {
  num += 1;
  return num;
}

b(a); //=>2
a //=>1
//当把a作为传递到函数之后,在函数内部进行加1操作之后,num变成了2,但是函数外部的a仍然为1,说明被传递的a被复制了一份给了一个局部变量。

引用类型也是按值传递的:

var person = {}

var setName = function(params) {
    params.name = 'leexiaoyong';
}

setName(person); 
console.log(person); //=>{name: 'leexiaoyong'};

//引用类型是把person在内存中的地址传递给了局部变量params,当params改变时,指针指向的内存中的对象也相应的发生了变化。所以外部的对象也跟着发生了变化。但是它也是作为值传递的,而不是引用。

证明引用类型是按值传递的例子:

function setName(obj){
    obj.name = 'leexiaoyong';
    obj = new Object(); //这里创建了一个新对象,其实是在局部变量中创建了一个新对象,这个对象在函数执行完成之后就会被销毁
    obj.name = 'suwenli';
}
var person = new Object();
setName('liyuhong');
person //=>{'name': 'leexiaoyong'}

相关文章

  • java参数的传递

    基本类型作为参数是值传递 引用类型作为参数是引用传递(地址传递) 方法签名 方法签名有两部分组成:方法名和参数类型...

  • 基本类型和引用类型作为函数参数传递

    基本类型是按值传递的: 引用类型也是按值传递的: 证明引用类型是按值传递的例子:

  • Java 参数传递问题

    Java参数传递 给出了基本类型和引用类型参数传递时行为的示例,并给出了String类型作为参数传递时表现出的和一...

  • 对象类型的参数传递

    对象类型的参数传递: JAVA中只有值传递.基本类型好理解,直接传递数值 基本数据类型作为参数,直接操作引用类型作...

  • golang学习笔记(七)复合类型

    复合类型 类型名称作为函数参数pointer指针值传递array数组值传递slice切片引用传递map字典引用传递...

  • JavaScript函数的参数传递

    JavaScript函数的参数传递取决于参数的类型: 若参数为基本类型,那么按值传递 若参数为引用类型,那么按共享...

  • JAVAScript0411

    4.1 基本类型和引用类型的值 1.EAMAScript函数参数按值传递: function addTen(num...

  • JAVAScript0411

    4.1 基本类型和引用类型的值 1.EAMAScript函数参数按值传递: function addTen(num...

  • C# 委托

    委托类型表示对具有特定参数列表和返回类型的方法的引用(类似JS的函数指针,但类型安全)。委托用于将方法作为参数传递...

  • 值/引用/参数传递

    java参数都是值传递java变量有基本类型和引用类型 引用类型做参数 传递一个“不同的”(一份copy)但“指向...

网友评论

      本文标题:基本类型和引用类型作为函数参数传递

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