javascript中基本类型和引用类型的区别分析 基本类型和引用类型ECMAScript包含两个不同类型的值:基本类型值和引用类型值。基本类型值指的是简单的数据段;引用类型值指由多个值构成的对象。当我们把变量赋值给一个变量时,解析器首先要做的就是确认这个值是基本类型值还是引用类型值。常见的五种基本数据类型是:Undifined、Null、Boolean、Number和String。这五种基本数据类型可以直接操作保存在变量中的实际值。例子:var a=10;var b=a;b=20;console.log(a);10var bl=true;var bl1=bl;bl1=false;console.log(bl);true上面,b获取值是a值的一份拷贝,虽然,两个变量的值是相等,但是两个变量保存两不同的基本数据类型值。b只是保存了a复制的一个副本。所以,当b的值改变时,a的值依然是10;下面,两个Boolean变量bl和bl1同样是基本数据类型,同样保存两个不同的基本数据据类型值,bl1保存bl复制的一个副本。下图演示了这种基本数据类型赋值的过程:引用类型数据:javascript引用数据类型是保存在堆内存中的对象,与其它语言不同的是,你不可以直接访问堆内存空间中的位置和操作堆内存空间。只能通过操作对象的在栈内存中的引用地址。所以引用类型的数据,在栈内存中保存的实际上是对象在堆内存中的引用。WEB前端学习五 js什么是引用类型 三大引用类型,对象,数组,函数。引用类型和基本类型主要区别是引用类型存的是地址,但其实在JS中 万事万物皆对象,本质上来讲大家都可以算对象JS中有哪些基本类型和引用类型 八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。四种引用数据类型:接口 类 数组 枚举JS中引用类型的值指的是? new Box()就等于创建了一个对象,对百象就是引用度类型的引用类型相当于是内存地址,新创问建的答对象是放在堆中的var b=new Box();就是说新创建了一个对象,回返回的是该对象在堆中答的地址,将改地址赋给了b变量另外,Java,JavaScript都是这样的JavaScript中值类型和引用类型的区别 js的基本数据类型是按值传递,对象是按引用传递。按值传递的变量之间互不影响,比如var a=1;var b=a;a=2;变量a、b之间是按值传递,虽然a的值变了,但是并不影响b的值。而例子var a={name:'yy',age:26};var b=a;a.name=\"gg;这里的变量a、b指向的是同一个对象的引用地址,对a.name的操作直接改变了对象,自然b.name也变了。做一个不是太恰当的比喻,以前在学校的时候,用邮政速递收寄东西,如果是信件或者小件的东西,快递员会直接送到学校,如果是大件的包裹,往往你拿到的只是一个地址,这个地址指引你去附近的邮政拿到你自己的包裹。这大概就是js中值类型和引用类型的区别。以上的解释能帮助理解,但是还是有漏洞的。想深入理解的话建议找找js高级教程的书或者博客文章来看一看,了解一下堆栈的概念。
随机阅读
- 一次调频动作死区 电力系统的一次调频和二次调频的区别。。?
- 炮兵阵地a在观察哨m的南偏东
- 母婴保健法活动简介 母婴保健法第五条规定全部内容?
- 赵正军 紫砂 紫砂壶名人名单
- 湖北安陆赵棚镇韵达中通快递 湖北孝感安陆市赵棚镇冯冲村冯姓来自何处
- 合纵连横的简介 “合纵”,“连横”分别是什么意思?
- 中国工商银行股份有限公司广州高新技术开发区支行怎么样? 中国工商银行股份有限公司广州科技园支行
- 音响喇叭的小球瘪了怎么办? 调音台防尘罩
- 深圳永兴元科技笔试题 考驾照科目一什么时候公布成绩
- 窝窝资源网 开封团购网,晴天团和窝窝团哪个好点?
- 安海湾大桥路口下来水头 跨海大桥的桥墩是怎么竖在海里的?
- 贴片8002b功放电路图 求XA8002D音频放大电路图?
- 外螺纹车刀是加工什么的? 加工螺纹车刀
- 请问杭州第七人民医院怎么走 我现到滨康路东 武林门到第七人民医院怎么走
- 最后生还者错误认证无效 《最后生还者2》,我认为艾比没有做错任何事,为什么会让玩家讨厌?
- 上海有哪些著名的建筑物? 上海的建筑介绍
- 王府锦苑的天然气费在哪交?是双流县兴能天然气有限公司的 双流航空港天然气缴纳
- 广州员村二横路是属于哪个工商行政管理局管理? 广州市员村二横路2号
- 宇宙 中的黑洞 黑洞的密度比中子大吗
- 请你歇歇脚啊,暂时停下来是什么歌哎? 请你们歇歇脚啊