Javascript基础--数据类型

一、基本数据类型

  1、字符类型:表示字符的类型,例:'aaa',"aaaa",'123456',''(空字符)

  2、数字类型:表示数字的类型,例:0,1,3.1415936等

      特殊数字类型:Infinity无限大,对应-Infinity表示数字无限小

             NaN(Not a Number),NaN是个特殊的数字类型不于任何数字相等,与自己也不相等,只能通过isNaN()判断该值。

  3、布尔类型:表示真假的值,只有true,false两个值。

二、复合数据类型

  1、数组:数据元素的组合,包括元素和下标组成(下标从0开始编号)。

      数组运算符是[],可以通过[]进行元素读取、赋值操作。

  2、对象:对象是数据的集合,数据可以为基本类型,复合类型。

       对象有属性和方法,例:document.write()是方法操作. document.fgColor是属性。

三、特殊数据类型

  1、函数:可以执行的代码块,可以一次定义多次执行。

       可以定义一个或多个参数,调用时参数数目可不相等。

       可以返回值,也可以不返回值

  

  2、null:空类型,该类型非基础类型、非复合类型,就是一个空。

  3、undefined:未定义类型

四、数据类型转换

  1、空、0,null.undefined为bool时为false,其余为true.

  2、纯数字串可以转换为数字,否则转换为NaN,或者是部分数字。

  3、布尔值可转数字,true转为1 ,false转为0,转字符串时加引号。

  4、null转数字时为0,undefined转数字时为NaN.

五、直接量

  1、直接量:在程序中直接显示出来的量,包括字符串直接量、数字直接量等,所有数据类型都有直接量。

    1.1、字符串直接量:使用成对的"或'引起来的量。\是转义字符可以转义各种特殊字符。例如\'表示转义后的',此处'是一个普通的字符不属性字符串开始结束标志。

    1.2、数字直接量如var b=20,此处20就是数字直接量。数字直接量包括多种:十进制、八进制、浮点类等。

    1.3、布尔直接量true,false;

    1.4、数组直接量,表示数组内容的直接量,例:[10,"aabc",,true].

    1.5、函数直接量,没有函数名称的函数变量如:var myFun=function(a,b){a+b},此处即为函数直接量。

    1.6、对象直接量:var obj= {"name":”mopheify","age":20};

    1.7、特殊直接量:var nullobj=null为特殊null直接量。var undefinedobj=undefined为undefined直接变量。

六、变量

  1、变量顾名思义会改变的量,用于存放数据的容器。

    1.1、以字母、下划线(_)或美元符号($)开头,后跟字母、数字、下划线(_)或美元符号($)。不能有空格、其他标点。

    1.2、区分大小写,var name="";和var NAme=""是两个完全不同的变量。

    1.3、不能与保留字相同。

    1.4、命名规则: Pascal命名所有单词首字母大小。例:UserName,MyHat

            Camel命名除第一个字母小写外,所有单词首字母大写。userName,myHat

            匈牙利命名:与Pascal一样,不过在变量前添加小写类型缩写以表明数据类型。

  

  2、变量是无类型或者是弱类型:例var x=0;x="字符串";即x的类型随值变化。

  

  3、变量有作用域:全局变量、局部变量。

    3.1、使用var定义的变量变量范围与定义是范围有关,不定义直接使用的变量作用范围为全局的。

    3.2、变量注意事项:a)、尽量先定义再使用。b)、可以为未定义变量赋值待操作(此时变量为全局变量)

  

  4、变量随处定义,与定义平行的范围内均有效,只是在定义前使用值为undefined不为null;

  5、变量可以多次定义 例var myname='name1'; var myname=5;等。每个定义均为有效定义。

      

七、常量

  

  1、使用const修饰定义的量为常量 例:const myname="mopheify";

  2、常量定义后值不会改变。如果为上面myname="newName",赋值无效,此时值仍为mopheify.

  3、常量不能重复定义

  4、变量名不能与常量名重复否则报错。