在javascript中有5中基本数据类型分别是:Undefined、Null、Boolean、Number、String。
和一个复杂数据类型:Object。
一、Undefined
1. Undefined类型只有一个值undefined。当用var声明一个值并未对其进行初始化的时候,这个变量的值就是undefined。
var boss; alert(typeof boss);
2. 包含undefined值得变量与尚未定义的变量是不一样的。
var boss; alert(boss); // undefined alert(message); // 报错 Uncaught ReferenceError: message is not defined
3.对为声明的变量执行typeof 也会返回undefined
// var message; alert(typeof message); // undefined
4. 我们要尽可能的在声明变量的时候对其赋予初始值,如果每一个变量都被赋予了初始值,那么当typeof 某个变量返回undefined时我们就知道被检测的变量是没有被声明而不是没有没初始化了。
二、Null
1. Null 类型只有一个值null。从逻辑角度来看空值是标识一个空对象指针,而这也是使用typeof 检测null 返回对象的原因
var a = null; alert(typeof a); //object
2. 如果定义的变量要用来保存对象,那么最好将它初始化为null 而不是其他值。这样做可以null作为空对象指针的惯例,
var a = null; alert(typeof a); //object var a = {'a':123,'b':456}; if(a != null) { alert(a.a); }
三、Boolean
1. Boolean类型有两个值:true 和 false
2. Boolean 类型的转换:
数据类型 转化为true的值 转化为false的值
Boolean true false
String 任何非空字符串 "" (空字符串)
Number 任何非零的数字值 0和Nan
Object 任何对象 null
四、Number类型
1. 数值范围:
Number.MAX_VALUE 中保存着js能够表示的最大值
Number.MIN_VALUE
中保存着js能够表示的最小值
Number.NEGATIVE_INFINITY
中保存着js正无穷值
Number.POSITIVE_INFINITY 中保存着js的负无穷值
2. NaN(非数值 not a number ) 用来表示本来要返回数值的操作没有返回数值的情况。
NaN有两个特点一个是任何涉及NaN的操作都会返回NaN另一个是NaN与任何值都不相等
isNaN函数 这个函数会帮我们确定参数是不是 NaN(非数值)。
五、String 类型
1.String的特点:js中字符串是不可变的。也就是说他的值一旦创建就不可变了。要改变某个变量的字符串,要先销毁原来的值,然后再用雷一个包含新值的字符串来填充该变量
var lang = 'java'; lang = lang + 'script';实现上面操作的过程如下:首先穿件一个能容纳10个字符的新字符串,然后在这个字符串中填充'java'和'script',最后销毁原来的字符串'java'和字符串'script' ,将新的字符串给lang
六、Object 类型
- Constructor: 保存着用于创建当前对象的函数
- hasOwnProperty(propertyName); 用于检查给定的属性在当前对象中是否存在
- isPrototypeOf(object); 用于检查传入的对象是否是另一个对象的原型连
- propertyIsEnumerable(propertyName); 用于检查给定的属性是否能用for-in 来枚举
- toLocaleString(); 返回对象的字符串表示,该字符串与执行环境的地区对应
- toString(); 返回对象的字符串表示
- valueOf(); 返回对象的字符串,数字,或者布尔值的表示
来源:https://www.cnblogs.com/andyliu007/archive/2012/10/01/2795398.html