JS复习之数据类型

在JavaScript中有5种(Undefined、Null、Boolean、Number、String)简单数据类型和1种(Object)复杂数据类型,用var声明变量

可以使用typeof方法来检测数据类型

下面来详细介绍6种数据类型

1.Undefined类型

  未初始化与未声明的变量值都为undefined,未声明的变量直接使用会导致报错,但是可以用typeof操作符执行判断是可以执行的,也可以显示的声明一个变量值为undefined,但是这样意义不大。

2.Null类型

  null值表示一个空对象的指针(有些早期浏览器执行typeof null会返回object),null派生自undefined,所以用相等符号(==)判断的时候回返回true,如果希望一个变量用来存储对象,应该在声明时显示的声明为null,表面它是一个指针

3.Boolean

  boolean值的字面值只有两个,即为‘true’与‘false’,在ECMAScript中所有的值都可以与这两个字面值等价。String类型非空即为true,Number类型任何非零与NaN数字值为true,Object类型任何对象都为true,Undefined只能是false,Boolean是流程控制语句的重要数据类型

4.Number类型

  最基础的字面量格式是十进制整数,八进制整数要在前面加0,十六进制要在前面加入0x,八进制字面量在严格模式是无效的,在进行计算时都会被化为十进制数

  Number类型的特点

  一.浮点数

    由于浮点数是整数的两倍,因此ECMAScript会不失时机的将浮点转为整数,浮点数可以用科学计数法表示,例如3.14e8就是3.14x10^8,不要测试某个特定的浮点数值

  二.数值范围

    当数值超过最大或最小值时就会被转化为±Infinity,可以用isFinity函数来检测是否超过界限

  三.NaN

    NaN即非数值,任何涉及NaN的操作都会返回NaN,NaN与任何值都不相等,包括自己在内,可以用isNaN来检测是否为非数值。

  四.数值转换

    有三种将其他类型转为Number的方法,Number、parseInt、parseFloat,Number方法可以将所有的非数值转化为数值,另外两个专门用于把字符串转换为数值。

    Number转换规则

      -如果是Boolean值,true和false分别转换为1与0

      -如果是数值只是简单传入返回

      -如果是null,返回0

      -如果是undefined返回NaN

      -如果是字符串,则将其转化为十进制数,如果其本身是十六进制则转成对应的十进制数值,如果是空的则转化为0,如果包含其他字符则转化为NaN

      -如果是对象则调用valueOf()方法,任何依照前面的规则转换返回值。如果转换的结果是NaN,则调用对象的toString方法,然后再次依照前面的规则转换

    parseInt与parseFloat(num,type)方法

      parseInt在解析八进制字面量的字符串时,ES5(十进制)与ES3(八进制)有分歧,好在它接受的第二个参数可以规定转换的进制格式。parseFloat没有这个问题,功能与parseInt基本一致

5.String类型

  String类型由多个16位Unicode字符组成,里面包含了很多字面量例如:\n、\t、\b等等,在旧的浏览器中,字符串的长度改变时会销毁原来的字符串创建新的来填充,所以Ie6种拼接字符串时会明显感觉变慢,可以用自带的toString和String函数来将其他类型转化为字符串

6.Object类型

  ECMAScript中的对象其实就是一组数据和功能集合,对象可以通过执行New操作符后跟要穿甲的对象类型名称来创建,而创建Object类型的实例并为其添加属性和方法就可以创建自定义对象。

对对象的详细介绍放到后面的随笔里面再继续深入。

 

posted @ 2017-11-05 20:06  我思固我在  阅读(163)  评论(0编辑  收藏  举报