ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值,基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象。

在将一个值赋给变量时,解析器必须确定这个值是基本类型值还是引用类型值,基本类型值有:Undefined,Null,Boolean,Number和String。这5种基本数据类型是按值访问的,因为可以操作保存在变量种的实际值

基本数据类型都是单一的值(“hello”,123)值与值之间没有任何联系,若使用基本数据类型的数据,我们所所创建的变量都是独立的,不能成为一个整体

引用类型的值是保存在内存中的对象,Javascript不允许直接访问内存中的位置,(不能直接操作对象的内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象,故引用类型的值是按引用访问的,其中引用类型有(Object,Array,RegExp,Date,Function,特殊的基本包装类型(String,Number,Boolean)以及单体内置对象(Global,Math)

基本类型

1.Number

Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字

NaN:非数字类型,两大特点:

  1. 涉及到的任何关于NaN的操作都会返回NaN
  2. NaN不等于自己

isNaN()函数用于检查其参数是否是非数字

2.String

字符串是存储字符的变量,由双引号(“”)或者单引号(‘’)表示

字符串有length属性,可以取得字符串的长度

字符串转换:转型函数String(),适用于任何数据类型(null,undefined转换后为null和undefined)

toString方法(null,undefined不适用)

3.Boolean

只有两个值,true和false

4.Undefined

只有一个值,即undefined值,使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined

5Null

只有一个值的数据类型,null值表示一个空对象的指针,使用typeof操作符检测null值会返回‘object’

6常见的引用类型

Object:带有属性和方法的特殊数据类型

Array:使用单独的变量名来存储一系列的值

7.基本类型和引用类型的区别

基本类型的变量是存放在栈区的(栈区是指内存里的栈内存)

引用类型的值是同时保存在栈内存和堆内存中的对象;

基本类型的比较是值的比较

引用类型的比较是引用的比较

扩展

1.Null和Undefined的区别

Null和Undefined基本同义,只有一些细微差异,Null表示“没有对象”,即该处不应该有值

Undefined表示缺少值,此处应该有值,但是还没有定义:

  • 变量被声明了,但没有赋值时,就等于Undefined
  • 调用函数时,应提供的参数没有提供,该参数为Undefined
  • 对象没有赋值的属性,该属性为undefined
  • 函数没有返回值时,默认返回undefined

2.什么是栈内存,堆内存,两者的区别

栈内存:由程序自动向操作系统申请分配以及回收,速度快,使用方便,但程序员无法控制,若分配失败,则提示栈溢出错误,注意:const局部变量也存储在栈区内,栈区向地址减小的方向增长

堆内存:程序员向os申请一块内存,当系统收到程序的申请时,会遍历一个记录空闲内存地址的链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序,分配的速度较慢,地址不连续,容易碎片化,故由程序员申请,同时必须要程序员销毁

Javascript之基本类型和引用类型的更多相关文章

  1. [转]javascript中基本类型和引用类型的区别分析

    基本类型和引用类型 ECMAScript包含两个不同类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据段:引用类型值指由多个值构成的对象.当我们把变量赋值给一个变量时,解析器首先要做的就是确 ...

  2. javascript的基本类型和引用类型

    一.基本类型和引用类型 基本的数据类型有5个:undefined,boolean,number,string,null ? 1 2 3 4 5 typeof null; //"object& ...

  3. javascript中基本类型和引用类型的区别分析

    大多数人系统学习过的程序设计语言,在这些语言的学习过程中最早学到的几个要点之一就是值类型和引用类型的区别.下面我们来看一下在 JavaScript 中基本数据类型(Primitive Types)和引 ...

  4. Javascript手记-基本类型和引用类型

    1:ecmascript包含2中不同的数据类型,基本数值类型和引用数值类型.基本数据类型是简单的数据段,引用类型是指那些可能由多个值构成的对象. 1.1:常用的基本类型:Undefined,Null, ...

  5. javascript数据基本类型和引用类型区别详解

    JavaScript基本数据类型: js基本数据类型包括:undefined,null,number,boolean,string.基本数据类型是按值访问的,就是说我们可以操作保存在变量中的实际的值. ...

  6. javascript数据基本类型和引用类型

    JavaScript基本数据类型: js基本数据类型包括:undefined,null,number,boolean,string.基本数据类型是按值访问的,就是说我们可以操作保存在变量中的实际的值. ...

  7. Javascript 关于基本类型和引用类型的个人理解

    一.基础类型 A. 基础类型有5种,Number,String,Boolean,Null,Undefined B. 基础类型没有堆的概念,堆只针对引用类型. 所有基础类型都是以key-value形式存 ...

  8. 【JavaScript】基本类型和引用类型的值、引用类型

    一.前言        接着上一篇继续记笔记 二.内容         动态的属性 var person = new Object(); person.name = "Nicholas&qu ...

  9. 《JavaScript高级程序设计》读书笔记 ---基本类型和引用类型的值

    变量.作用域和内存问题 基本类型和引用类型的值ECMAScript 变量可能包含两种不同数据类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象.在 ...

随机推荐

  1. Jenkins 简单配置

      安装就不说了, 因为安装实在是很简单的. Jenkins基础配置 配置jdk 和maven 进入Global Tool Configuration, 配置JDK: 一般不要选择自动安装, 否则下载 ...

  2. GPUImage中对比度调整的实现——GPUImageContrastFilter

    对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,图像越鲜亮,差异范围越小代表对比越小,图像越灰. GPUImage中实现了对比度调整的Filter,其 ...

  3. Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean)

    eclipse在使用maven的tomcat控件编译java程序时,报错 Failed to execute goal org.apache.maven.plugins:maven-clean-plu ...

  4. Appium -选择、操作元素3

    UI Automator API定位 id .class name.acessibility id.xpath底层都是通过UI Automator API定位,UI Automator测试框架提供了一 ...

  5. delphi多语言

    LoadLangFromStrings http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.Types.TLang http://blog.c ...

  6. 机器学习进阶-图像梯度计算-scharr算子与laplacian算子(拉普拉斯) 1.cv2.Scharr(使用scharr算子进行计算) 2.cv2.laplician(使用拉普拉斯算子进行计算)

    1. cv2.Scharr(src,ddepth, dx, dy), 使用Scharr算子进行计算 参数说明:src表示输入的图片,ddepth表示图片的深度,通常使用-1, 这里使用cv2.CV_6 ...

  7. 机器学习进阶-图像基本操作-数值计算 1.cv2.add(将图片进行加和) 2.cv2.resize(图片的维度变换) 3.cv2.addWeighted(将图片按照公式进行重叠操作)

    1.cv2.add(dog_img, cat_img)  # 进行图片的加和 参数说明: cv2.add将两个图片进行加和,大于255的使用255计数 2.cv2.resize(img, (500, ...

  8. 【JEECG技术文档】Online唯一校验使用说明

    1.功能介绍 配置了唯一校验的字段,在录入和编辑页面中,动态查询用户输入值是否存在校验. 要使用online唯一校验功能必须先在online表单开发中配置唯一字段的校验方式为唯一校验. 2.配置唯一校 ...

  9. servlet编码问题

    建议每个servlet都写上    request.setCharacterEncoding("UTF-8")

  10. Unit 1 overview of IT Industry

    Unit 1 overview of IT IndustryConcept LearningIT Industry OutlookThe term technology commonly refers ...