JS基本数据类型

1.Undefined

Undefined是全局对象window的一个特殊属性,顾名思义就是未定义的意思;Undefined类型只有一个值undefined,表示一个变量定义了但未赋值;

如:var a;  alert(a); // 弹出undefined;

下面是几种常见的会出现undefined的情况:

(1)获取一个对象的属性(原本属性和protoType扩展的属性)不存在时,返回undefined;

(2)当一个函数function(){}没有明确的返回值时,显示undefined,例子:function way(){}  alert(way());//弹出undefined;

(3)javascript中的参数有多个形参的话,如果调用参数的话,参数数量小于形参数量,那么其他的参数值就为undefined;

2、Null类型

null是javascript保留的关键字,Null类型也只有一个null值,表示为空或者不存在的对象引用;

(1)javascript中的if()判断语句无论是null类型还是undefined类型他们的返回值都是false,也就是说一个变量若是null 或者undefined那么他就为false;


3、Number类型

表示数值,数字类型能代表的范围是:-(2^63-1)~~2^63-1。除了具体的数值,还有一些带符号的值:+Infinity(正无穷),-Infinity(负无穷)和NaN(非数值)

4、Object类型

js中的对象和java中的对象一样。js对象是一个拥有属性和类型的实体。用杯子类比对象,杯子有颜色、重量等属性,js对象也有属性来定义它的特征。

5、String类型

js字符串每一个元素占据了字符串的位置,第一个元素的索引为0,下一个索引是1.字符串的长度是它的元素的数量。字符串用单引号或单引号括起来。js字符串不过更改,即字符串一旦被创建就不能被修改。但是可以基于原字符串来创建新字符串。

6、Boolean类型

布尔类型大家都很熟悉,这里说几个他的特殊用法:(1)boolea类型和Number类型相结合时,true转化为1,false转化为0;

        vara =true;

        alert(a+1);//弹出2vara =true;

        alert(a);//弹出true

上述六种类型也可以相互转化,基本上是数值和字符串和布尔值之间的转化:

(1)       Number类型转化为string类型,用tostring();

(2)       String类型转化为Number,用Number();

varstr = "123";varnum = 1;

alert(str + num);//弹出1231alert(Number(str)+num)//弹出124

也可以使用全局函数parseInt()和parseFloat()来进行转换;parseInt()和parseFloat()的区别是Number()转换是整个值,而parseInt()和parseFloat()则可以只转换开头的数字部分。

alert(Number("123asdf"));//弹出NaNalert(Number("1.2.3"))//弹出NaNalert(parseInt("123sdf"));//弹出123alert(parseFloat("sdfsdf"));//弹出NaNalert(parseInt("sdf345"))//弹出NaN

Number()在转化的过程中布尔类型的true和false分别被转化为1和0其他的不能转化为数值的全部转化NaN。

alert(Number(true));//弹出1alert(Number(false));//弹出0alert(Number(null));//弹出0

其他的若是不能转化为数值类型的,基本上全转化为NaN;

扩展小知识:(1)判断一个变量是否是数值,用IsNan()方法;

                 (2)在javascript中==和===的区别: "==" 只要求值相等; "===" 要求值和类型都相等;

                 (3)instanceof只是用于判断object是否是class类的一个实例,是的话返回true,否则返回false;alert(a instanceof String);

你可能感兴趣的:(JS基本数据类型)