JS学习-数据类型

来源:互联网 发布:画婚礼图软件 编辑:程序博客网 时间:2024/06/06 01:23

计算机顾名思义就是可以做数学计算的机器,因此,计算机理所当然的可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据。不同的数据,需要定义不同的数据类型。

Number

和C语言等大部分语言不同,JS的数值类型不区分整型和浮点型。统一用Number类型表示
NaN:not a number。
Infinity:表示无限大

字符串

字符串是以单引号或双引号括起来的任意文本

布尔值

一个布尔值只有ture、false两种值,用于各种条件判断

比较运算符

4.1 通过比较可以得到一个布尔值
4.2 js可以对任意数据类型进行比较
注意1==:先自动转换数据类型,再进行比较。会得到诡异的结果
===:不会转换数据类型,若类型不一致返回false;如果一致,再比较
注意2:NaN与所有值比较的结果都是不等的,也包括自己本身。唯一判断NaN的方法是 isNan()函数
注意3:浮点数进行比较。因为计算机无法精确表示无限循环小数如果比较两个浮点数是否相等,只能计算他们只差的绝对值是否小于某个阈值:Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true
注意4:null和undefined。null:表示一个空的值,类似于swift和oc中的nil。undefined:表示未定义,本质上就是没有初始化的值

数组

5.1 创建数组对象
字面量创建数组对象(swift中这么称呼):[1, 3.14,"hello",null,true];
构造器方法(swift中称呼):new array(1,2,3)
注意1:swift数组中存放的时同一类型的数据;JS可以存放任意类型的任意数据

对象

类似于其他语言中的字典

strict模式

JS在设计之初并不强制要求用var申明变量,但是没有var声明的变量是全局变量,因此为了避免这一问题建议用strict模式,强制使用var声明变量."use strict"

原始值和引用值

8.1 原始值:存储在栈中的简单数据段。他们的值直接存储在变量访问的位置
8.2 引用值:存储在堆中的对象。存储在变量处的是一个指针,指向寸处对象的内存处。
8.3 在ES中 undefined、Null、Boolean、Number和String类型都是原始类型。
注意1:和大多语言不同,字符串在JS中看做是值类型。swift中字符串也是值类型