犀牛书精简【二】JavaScript语言核心——类型、值和变量

320 阅读2分钟

一、引言与简介

在编程语言中,能够表示并操作的值的类型称做数据类型 type ,编程语言最基本的特性就是能够支持多种数据类型。 JavaScript的数据类型分为两类:原始类型 primitive 和对象类型 object ,普通的JavaScript对象是“命名值”的无序集合

  1. 数组(array):在JavaScript中定义了一种特殊对象 数组 是带有编号的值的有序集合并定义了专用的语法,拥有和普通对象有不同的特有行为。
  2. 函数(Function):在JavaScript中定义了一种特殊对象 函数,和数组一样函数定义了专用语法与普通对象的行为特征不同。
  3. 构造函数:如果使用函数来初始化 new 一个新建的对象我们称之为构造函数,每个构造函数定义了一类class对象(由构造函数初始化对象组成的集合)除数组函数外主要还有以下3个
    1. 日期(Date):JavaScript中代表日期的对象。
    2. 正则(RegExp):定义表示了正则代表式。
    3. 错误(Error):定义了那些表示JavaScript程序中运行时错误和语法和错误的对象
    4. 自定义类:也可以通过定义自己的构造函数来定义需要的类
  4. JavaScript数据类型思维脑图
  5. 垃圾回收:JavaScript解释器有自己的内存管理,可以自动对内存进行垃圾回收(garbagecollection),当不再有任何引用指向一个对象,解释器就会知道这个对象没用了,然后自动回收它所占用的内存资源。

二、数字Number

和其他编程语言不同,JavaScript不区分整数值和浮点数值,所有的数字均用浮点数值表示(IEEE754标准)64位浮点格式表示数字

三、字符串Stying

四、布尔Boolean

五、null和undefind

六、全局对象 Object

七、包装对象

八、不可变的原始值和可变的对象引用

九、类型转换

十、变量声明

十一、变量作用域

十二、提出问题

  1. 为什么在JavaScript中小数运算会有误差?
    • javascript不区分整数值和浮点数全部用浮点数表示,而浮点数在计算时会先转换为二进制在转换为十进制