javascript基础类型和引用类型

基本类型(栈数据)String Number Boolean null undefined symbol(ES6)引用类型(堆数据)Array Object Function Date RegExp 等区分 栈小堆大1.基础类型是放置在栈里面,一般基础类型的数据都比较小,赋值不影响自身vara =1;varb = a;a =2;console.log(b);// 12.引用类型是放置在堆里面,一般引用类型的数据都比较大,而栈空间又比较小,所有引用类型都是放置在堆里面,而放置在栈空间的是引用类型的地址引用,互相赋值会影响双方varobj1 = {name:'lyj'};varobj2 = obj1;obj1.name ='cjy';console.log(obj2);// {name: 'cjy'}3.如果引用类型想赋值却又不想互相影响,可以通过浅克隆方式,如下1.ES6结构varobj1 = {name:'lyj'}varobj2 = {...obj1}2.JSON大法varobj1 = {name:'lyj'}varobj2 =JSON.parse(JSON.stringify(obj1))3.函数封装clonefunction clone(origin, target) {vartarget = target || {}for(varpropinorigin) {target[prop] = origin[prop]}returntarget}varobj1 = {name:'lyj',sex:'boy'}varobj2 = clone(obj1)小编是个多年开发经验的程序员。如果你想要学好WEB前端,在学习过程中,身边没有一个能够指导你学习的人,可以到这个WEB前端裙,里面最新学习路线和教程,不管是计算机专业想要往WEB前端方向发展,还是零基础想转行,都可以跟着教程学,有什么不懂的可以在里面问,这就是WEB前端裙。前面三个输入296,中间三个输入212,后面三个输入562。

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):