美文网首页
JS中的值是按值传递,还是按引用传递呢?

JS中的值是按值传递,还是按引用传递呢?

作者: __越过山丘__ | 来源:发表于2018-12-26 15:05 被阅读0次

JS的基本类型,是按值传递的:
var a = 1;
function foo(x) {
x = 2;
}
foo(a);
console.log(a); // 仍为1, 未受x = 2赋值所影响

JS的引用类型按共享传递的:

在共享传递中对函数形参的赋值,不会影响实参的值。如下面例子中,不可以通过修改形参o的值,来修改obj的值。

var obj = {x : 1};
function foo(o) {
o.x = 3;
}
foo(obj);
console.log(obj.x); // 3, 被修改了!

var obj = {x : 1};
function foo(o) {
o = 100;
}
foo(obj);
console.log(obj.x); // 仍然是1, obj并未被修改为100.

原文:https://segmentfault.com/a/1190000005794070

相关文章

  • JS是按值传递还是按引用传递?

    JS是按值传递还是按引用传递? 按值传递 VS. 按引用传递 探究JS值的传递方式 按共享传递 call by s...

  • js中经典问题讲解

    1.传递参数是按值传递还是按引用传递? 苏墨橘的回答JS是按值传递还是按引用传递? 2.执行环境及作用域 《jav...

  • JS中的值是按值传递,还是按引用传递呢?

    JS的基本类型,是按值传递的:var a = 1;function foo(x) {x = 2;}foo(a);c...

  • Java中的参数传递

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

  • 2018-04-03

    nodeJs API接口熟悉。 js是按值传递还是按引用传递?http://bosn.me/js/js-call-...

  • js按值传递还是按引用传递?

    (1)基本数据类型按值传递基本类型的变量是存放在栈区的(栈区指内存里的栈内存),不共享内存空间 (2)引用类型值按...

  • JS是按值传递还是按引用传递?

    今晚遇到一个问题,就是全局变量的局,死活不变 如图的效果 country 永远为 1 最近遇到个有趣的问题:“JS...

  • 第四题

    写出输出值,并写出原因 按值传递和按引用传递 函数的参数的按值传递的 js之所以有这样设计,是因为:按值传递的类型...

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

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

  • Java值传递

    “在Java里面参数传递都是按值传递”这句话的意思是:按值传递是传递的值的拷贝,按引用传递其实传递的是引用的地址值...

网友评论

      本文标题:JS中的值是按值传递,还是按引用传递呢?

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