博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于值传递和引用传递的一些小笔记
阅读量:4353 次
发布时间:2019-06-07

本文共 619 字,大约阅读时间需要 2 分钟。

js的基础知识整理

       JavaScript的5种基本类型:(值传递)
                 Boolean,null,undefined,string,number  赋值都是通过值传递的方法进行的,(当把其中的一个变量的值赋给另外一个变量的时候,实际上就跟拷贝是一样的,拷贝的变量相当于源变量的一个副本,之后两值的增删减毫无影响)
       3种特殊类型:(引用传递)
               Function、Array、Object  本质上都属于对象,都是通过引用来传递(变量的值相当于存放该值的内存地址,赋值的(=)相当于一个指针,所以当两个变量指向了同一个内存地址的时候,互相的增删改是会影响各自的值的)
          
          来个粗糙的比喻,比如有一个变量a,它指向的空间是101房,还有一个变量b,把a的空间赋给b,这时,相当于,a,b同时指向了101房,不管是a,还是b,只要它们其中一个对101房进行一些改动,101房就已经发生了变化,所以a,b的值发生了变化。
        
          对象的变量赋值只会把 地址传递过去 (如果其中一个变量改变值的时候,原先指向同一个空间的对象将不受影响,因为重新赋值的时候,该对象的地址已经发生改变了,就是两值指向的空间已经不一样了)
 
  参考文章:https://blog.fundebug.com/2017/08/09/explain_value_reference_in_js/

转载于:https://www.cnblogs.com/huangmei/p/7325512.html

你可能感兴趣的文章
Python 获取Kmeans聚类结果每一类的数据
查看>>
洛谷 P1658 购物
查看>>
标准C语言(3)
查看>>
QTP(5)
查看>>
主线程结束之后,所有的子线程都结束
查看>>
angularjs1-6,自定义服务
查看>>
jquery11源码 animate() : 运动的方法
查看>>
stl 容器
查看>>
POJ 2251 Dungeon Master
查看>>
深入理解java虚拟机之走进java
查看>>
jQuery
查看>>
4.J - 组合
查看>>
java 面试题 1-10
查看>>
通用删除查询语句存储过程
查看>>
PyCharm的一些设置
查看>>
一个奇怪的网络故障 默认网关为0.0.0.0(Windows)
查看>>
DoDataExchange函数,UpdateData(TRUE)和UpdateData(FALSE)的区别
查看>>
SQL Server 2008 R2如何开启数据库的远程连接
查看>>
搜索框获取转移焦点事件
查看>>
解决js跨域问题
查看>>