1、undefined类型
Undefied类型只有一个值,即特殊的undefined。在使用var声明变量但未对其进行初始化时,这个变量的值就是undefined。
Var message;
//var age 这个变量并没有声明
alert(message); // undefined 没有初始化
Alert(age);//undefined 没有声明
2、null类型
null是一个只有一个值的特殊类型。表示一个空对象引用。用typeof检测返回是object。
undefined是派生自null。undefined==null。
3、Boolean类型
只有两个字面值:true和false,但这两个值与数字值不同,因此true不一定等于1,false也不一定等于0.
要将一个值转换为对应的Boolean值,可以调用转型函数Boolean()。
4、Number类型
最基本的数值字面量格式是十进制整数,除了十进制表示外,还可以通过八进制或16进制的字面值表示。
八进制字面值的第一位必须是0,然后是八进制数字序列(0~7),如果字面值中的数值超出了范围,那么前导零将被忽略,后面的数值将被当做十进制数值解析。
十六进制字面值前两位必须是0x,后跟任何16进制数字(0~9以及A~F)。
在进行算术计算时,所有以八进制和十六进制表示的数值最终都将被转换成十进制数值。
1)浮点数值
科学技术法:3.125e7即3.125*10^7
浮点数值的最高精度是17位小数。
2)数值范围
通过 Number.POSITIVE_INFINITY 和 Number.NEGATIVE_INFINITY 得到 Infinity(正无穷)及-Infinity(负无穷)的值。 alert(Number.POSITIVE_INFINITY); //Infinity(正无穷) alert(Number.NEGATIVE_INFINITY);//-Infinity(负无穷)
isFinite()函数:参数在最小与最大值之间时会返回true。
3)NaN
即非数值。NaN与任何值都不相等,包括NaN本身。
isNaN()函数:在接收到一个值以后,会尝试将这个值转换为数值,不能转换为数值的值都会导致这个函数返回true。
isNaN(NaN) //true
isNaN(10) //false
isNaN("10") //false
isNaN("blue") //true
isNaN(true) //false
4)数值转换
Number()
var test1= new Boolean(true);
var test2= new Boolean(false);
var test3= new Date();
var test4= new String("999");
var test5= new String("999 888");
document.write(Number(test1)+ "<br />"); // 1
document.write(Number(test2)+ "<br />"); // 0
document.write(Number(test3)+ "<br />"); // 1256657776588
document.write(Number(test4)+ "<br />"); // 999
document.write(Number(test5)+ "<br />"); // NaN
parseInt()
parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN
parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:
parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10
parseFloat()
parseFloat()方法与parseInt()方法的处理方式相似。
使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。
下面是使用parseFloat()方法的示例:
parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN
5、String类型
String 类型用于表示由于零或多个 16 位 Unicode 字符组成的字符序列,即字符串。字 符串可以由双引号(“)或单引号(‘)表示。
字符串一旦创建,他们的值就不能改变。要改变某个变量保存的字符串,首先要先销毁原来的字符串,然后在用另一个包含新值的字符串填充该变量,例如:
var lang = "java";
lang =lang + "Script";
转换为字符串:
toString()
1,大多值都有toString()方法,null和undefined是没有的。
2,对于字符串型的值也可以使用toString()方法,它会返回该字符串的一个副本。
3,toString()方法可以传递一个参数,表示数值的基数。
var num =10;
alert(num.toString()); //"10"
alert(num.toString(2)); //"1010"
alert(num.toString(8)); //"12"
alert(num.toString(10)); //"10"
alert(num.toString(16)); //"a"
string()
如果值有toString()方法,则调用该方法(没有参数)并返回相应结果。如果值是null,返回“null”。如果值是“undefined”,返回“undefined”。
var value1 =10;
var value2 = true;
var value3 = null;
var value4;
alert(String(value1)); // "10"
alert(String(value2)); //"true"
alert(String(value3)); //"null"
alert(String(value4)); //"undefined"
6、object类型
对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。
类型检测
typeof操作符
instanceof
object.prototype.toString