制作网站需要懂哪些,网站建设亻金手指下拉,学院做网站的意义,无锡住房和城乡建设官网前言 我是歌谣 知其然知其所以然 人人都有一个大厂梦 希望通过自己的一个总结分享可以给予大家带来帮助和提升。 本期知识点 JavaScript中基本数据类型和引用数据类型 目标
理解基本数据类型和引用数据类型的定义理解堆和栈数据类型分为哪些
定义 ECMAScript包括两个不同类型…前言 我是歌谣 知其然知其所以然 人人都有一个大厂梦 希望通过自己的一个总结分享可以给予大家带来帮助和提升。 本期知识点 JavaScript中基本数据类型和引用数据类型 目标
理解基本数据类型和引用数据类型的定义理解堆和栈数据类型分为哪些
定义 ECMAScript包括两个不同类型的值基本数据类型和引用数据类型。 基本数据类型指的是简单的数据段引用数据类型指的是有多个值构成的对象。 当我们把变量赋值给一个变量时解析器首先要确认的就是这个值是基本类型值还是引用类型值。 常见的数据类型
基本数据类型
StingNumberBooleannullundefinedSymbol
引用数据类型
ObjectDatefunctionRegExpArray …
栈内存stack 栈内存是一种特殊的线性表它具有后进先出的特性存放基本类型。 堆内存heap 区别 1复制变量时的不同 对于基本类型来说一般会在变量对象上创建一个新值然后把这个值复制到为新变量分配的类型上面 对于引用类型来说也会将存储在变量对象的值复制一份到新变量的内存空间中但是这个值的副本其实是一个指针这个指针指向我们被赋值的对象即不管怎么样引用类型的赋值其实都是引用的同一个对象 2参数传递的不同 首先我们应该明确一点ECMAScript中所有函数的参数都是按值来传递的。 原始值只是把变量里的值传递给参数之后参数和这个变量互不影响。 引用值对象变量它里面的值是这个对象在堆内存中的内存地址因此它传递的值也就是这个内存地址这也就是为什么函数内部对这个参数的修改会体现在外部的原因了因为它们都指向同一个对象。 3声明变量时不同的内存分配 原始值存储在栈stack中的简单数据段也就是说它们的值直接存储在变量访问的位置。 引用值存储在堆heap中的对象也就是说存储在变量处的值是一个指针point指向存储对象的内存地址。 检测方法 可以通过typeof检测基本类型和复杂类型不过检测出来的复杂类型都是Object,如果想要检测复杂类型可以通过 instanceof 语法object instanceof constructor var a10; // typedof a1 - number
var a2 this is str; //typedof a2 - string
var a3 null; //typedof a3 - null
var c [1,2,3]; // c instanceof Array -true
var b{m:20}; // b instanceof Object -true
总结 面试中经常会问我们基本数据类型有哪些 我是歌谣 放弃很容易 坚持一定很酷 纯属个人总结 若有不合理之处 可选择性关闭网页 欢迎讨论 下一期预计开始讲解原型和原型链部分 敬请期待