前语:
ECMAScript 标准中的变量是松散型的(可以保存任何类型的数据)。
申明变量:var(操作符) name(变量名);
申明变量赋值:var(操作符) name(变量名)= ""
范例:var name = "lily";
变量name中就保存了一个字符串"lily"。
1.undefined类型
undefined类型只有一个值:特殊的undefined-未定义。
在任何只申明了变量没有赋值的时候该变量的值默认就是undefined。
var age; // age=undefined
var age = 18; // age=18
2.Null类型
Null类型也只有一个值:null,是一个空对象指针。用typeof检测其类型会得到object的结果。
var money = null;
alert(typeof money); // "object"
小贴士:
1.如果定义的变量在将来需要保存对象,最好就定义成null类型。因为判断该变量是否有值或者保存其他对象的引用直接检查该变量的null值就可以。
if (money != null) {
//做其他操作
}
2.undefined值是派生自null值的,所以
undefined == null; //true
3.Boolean类型
Boolean类型有两个值: true-真和false-假,通常都用于条件判断。
Boolean的两个值是区分大小写的:True和False都不是布尔值只是标识符。
在js中几乎所有的类型都可以转换成布尔类型
4.Number类型
包含整数和浮点数
4.1.浮点数值(双精度数值)
该数值中包含必须包含一个小数点,并且小数点后必须至少有一位数字。
var floatNum = 1.2
因为浮点数值需要的内存空间是整数值的两倍,因此在某些情况下会将浮点数自动转换成整数。
var floatNum1 = 1.; // 小数点后没有数字解析为1
var floatNmu2 = 1.0; //整数解析为1
4.2.数值的范围
最小的值:Number.MIN_VALUE-大多数情况下值是5e-324
最大的值:Number.MAX_VALUE-大多数情况下值是1.7976931348623157e+308
4.3.NaN
Not a Number不是一个数字。用于一个原本要返回数值的操作数未返回的情况。
var num = 3
alert(num/0) //NaN
在其他变成语言中除0会导致错误停止代码但是在js中任何数值除以0都会返回NaN。
NaN与任何值都不相等尽管是它本身。
4.4.数值转换
4.4.1.Number():将非数值转换成数值:
Boolean值,true和false会分别转换成1和0。
数字值,简单的传入和输出。
null值,返回0。
undefined,返回NaN。
字符串类型,遵循以下规则:
只包含数字(包括正负号),转换成十进制;
包含有效的浮点数,转成对应的浮点数:"2.2" --》2.2;
字符串为空,转成0;
包含有效的十六进制格式如"0xf',转成相同大小的十进制整数值;
除此之外的字符串,转成NaN;
4.4.2.parseInt():将非数值转换成数值,相比Number方法更合理。转换字符串的时候忽略字符串前的空格直到找到第一个非空格字符。
4.4.3.parseFloat():转换成浮点数值。
5.String类型
表示由零或多个16个Unicode字符组成的字符序列,即字符串。字符串可以由双引号或者单引号表示。