美文网首页
JavaScript 按值传递

JavaScript 按值传递

作者: 小泡_08f5 | 来源:发表于2019-06-13 19:15 被阅读0次
var obj = {
    num: 1
};

function foo(o) {
    o.b = 100;
    o.num = 2;
    o = {
        num: 3
    }
    console.log(o)
}

foo(obj);
console.log(obj);

image.png
传递的是数据类型的拷贝副本(引用地址),虽然引用的是同一个对象,但是无法通过改变形参来改变实参本身。
这里的 o = { num: 3} 是给o又重新定义了一个对象,指向了一个新的内存地址, 等于是脱离了对原来的 obj 实参的引用。
var obj = {
    num: 1
};

function foo(o) {
    o.b = 100;
    o.num = 2;
    obj = {
        num: 3
    }
}

foo(obj);
console.log(obj);
image.png

这里的obj 给了一个新的引用

之前介绍:https://www.jianshu.com/p/f0e747825a68

面试题:

var obj = {
    num: 1
};

function foo(o) {
    o.b = 100;
    o.num = 2;
    o = {
        num: 3
    }
    console.log(o)
}

foo(obj);
console.log(obj);

相关文章

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

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

  • 值传递or引用传递

    javascript都是按值传递 javascript的函数的参数传递,传递的都是值,参数是 Object 类型的...

  • 2019-06-26

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

  • 数据结构与算法 javascript

    基础概念 javascript中,函数的参数传递方式都是按值传递,没有按引用传递的参数。但是javascript中...

  • JavaScript 按值传递

    这里的obj 给了一个新的引用 之前介绍:https://www.jianshu.com/p/f0e747825a...

  • var、let、const

    javascript对象是引用传递,基本类型是按值传递 ps:javascript里没有引用传递其实是传递引用? ...

  • 深拷贝与浅拷贝

    概念 javascript中一般有按值传递和按引用传递两种复制方式: 按值传递的是基本数据类型(Number,St...

  • JavaScript深入之参数按值传递

    JavaScript深入系列第九篇,除了按值传递、引用传递,还有第三种传递方式 —— 按共享传递 定义 在《Jav...

  • JavaScript深入之参数按值传递

    JavaScript深入系列第九篇,除了按值传递、引用传递,还有第三种传递方式 —— 按共享传递 定义 在《Jav...

  • [JS开发者应懂的33个概念]3. 值类型和引用类型

    JavaScript 之 函数参数的传递 按值传递 继上篇说的,JavaScript的基本数据类型有7种:null...

网友评论

      本文标题:JavaScript 按值传递

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