一、基本数据类型
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、变量名不能与常量名重复否则报错。