美文网首页
js按值传递还是按引用传递?

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

作者: 安逸的蓝鲸 | 来源:发表于2018-10-10 16:42 被阅读0次

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

var a=1
var b=a
var a=2
console.log(a)//2
console.log(b)//1

(2)引用类型值按引用传递
引用类型值,引用类型的值是同时保存在栈内存和堆内存中的对象。JavaScript和其他语言不同,其不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间,那我们操作啥呢? 实际上,是操作对象的引用,所以引用类型的值是按引用访问的。
数组:

事例1
var a=[1,2,3]
var b=a
a.push(4)
console.log(a) //1,2,3,4
console.log(b)//1,2,3,4

事例2
var a=[1,2,3]
var b=a
a=33  //注改变了指向
console.log(a) //33
console.log(b) //123

对象:

事例1
var obj={a:1,b:2}
var obj1=obj
obj.a=2
console.log(obj)  // {a:2,b:2}
console.log(obj1) // {a:2,b:2}

事例2
var obj={a:1,b:2}
var obj1=obj
obj=22
console.log(obj) //22
console.log(obj1) //{a:1,b:2}

相关文章

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

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

  • js中经典问题讲解

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

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

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

  • 2018-04-03

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

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

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

  • Java中的参数传递

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

  • 第四题

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

  • JS按值传递和按引用传递

    1. 按值传递 将参数值传递给过程的方式,使过程访问到变量的复本。结果,过程不可改变变量的真正值,传递的是变量...

  • JavaScript深入之参数按值传递

    除了按值传递、引用传递,还有第三种传递方式 —— 按共享传递(JS应该是共享传递,没有所谓的引用传递) 共享传递是...

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

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

网友评论

      本文标题:js按值传递还是按引用传递?

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