今天小编要跟大家分享的文章是关于Web前端工程师要了解的
JavaScript相关知识。正在从事web前端工作的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助。
Web前端工程师要了解的JavaScript相关知识
(一)JS中基本类型和引用类型
JavaScript的变量中包含两种类型的值:基本类型值 和 引用类型值,在内存中的表现形式在于:前者是存储在栈中的一些简单的数据段,后者则是保存在堆内存中的一个对象。
基本类型值:
在JavaScript中基本数据类型有String,Number,Undefined,Null,Boolean,在ES6中,又定义了一种新的基本数据类型Symbol,所以一共有6种。
基本类型是按值访问的,从一个变量复制基本类型的值到另一个变量后,这两个变量的值是完全独立的,即使一个变量改变了也不会影响到第二个变量。
let str1='你好';
let str2=str1;
str2='hello word'console.log(str2);//'hello word'
console.log(str1); //'你好'
引用类型值:
引用类型值是引用类型的实例,它是保存在堆内存中的一个对象,引用类型是一种数据结构,较常用的是Object,Array,Function类型,此外还有Date,RegExp,Error等。
在ES6中提供了Set,Map2种新的数据结构。
(二)JS中如何复制引用类型的
基本类型和引用类型赋值的差异化:
举个例子:在下面代码中,只修改了obj1中的name属性,却同时改变了ob1和obj2中的name属性。
let obj1={'name': '小明'};
let obj2=obj1;obj2.name='小兰';
console.log(obj1); // {'name': '小明'}
console.log(obj2); // {'name': '小明'}
当变量复制引用类型值的时候,同样和基本类型值一样会将变量的值复制到新变量上,不同的是对于变量的值,它是一个指针,指向存储在堆内存中的对象。
因为,在JS中,堆内存中的对象无法直接访问,必须要访问这个对象在堆内存中的地址,然后再按照这个地址去获得这个对象中的值。
以上就是小编今天为大家分享的关于Web前端工程师要了解的JavaScript相关知识的文章,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助。