您的位置:首页 > Web前端 > JavaScript

【JavaScript基础知识】——数据类型与typeof操作符

2015-08-23 15:58 716 查看
一、typeof操作符

    typeof 操作符是用来检测变量的数据类型,对于值或变量使用typeof操作符会返回如下字符串

字符串

描述

undefined

未定义

boolean

布尔值

btring

字符串

number

数值

object

对象或null

function

函数

 

二、数据类型

   1、undefined

      undefined类型只有一个值,即特殊的undefined。在使用var声明变量,但没有对其初始化时,这个变量就是undefined。在实际的编码中,我们没有必要显式的给一个变量赋值为undefined,因为没有赋值的变量会隐式的(自动的)赋值为undefined,而undefined主要目的是为了用于比较。我们定义变量的是偶尽量不要只声明,不赋值。未初始化的变量与根本不存在的变量(未声明的变量)是一样的。

    2、null类型

       null类型是一个只有值得数据类型,即特殊的值null。它表示一个空对象引用(指针),而typeof操作符检测null会返回object。

    3、Boolean类型

       Boolean类型有两个值(字面量):true和false。而true不一定等于1,false不一定等于0,JavaScript是区分大小写的,True和False或者其他都不是Boolean类型的值。在ECMAScript中所有类型的值都有与这两个Boolean值等价的值。将要一个值转换为其对应的Boolean值,可以使用转型函数Boolean()。

    4、Number类型

       Number类型包含两种数值:整型和浮点型。

       浮点类型就是数值中必须包含一个小数点,浮点数的最高精度是17位小数。如果浮点数值范围的最大值或最小值,那么就会出现Infinity(正无穷)或者-Infinity(负无穷)。如果想确定一个数值到底是否超过了规定范围,可以使用isFinite() 函数,如果没有超过,返回true,超过了返回false。

<span style="font-family:KaiTi_GB2312;font-size:24px;">var box=100e100;
alert(isFunite(box));//返回false或者true</span>


    返回数值操作数未返回数值的情况用一个特殊的值NaN(非数值(Not a Number)来表示,这样错误就不会被抛出了。在ECMAScript中提供了isNaN() 函数,用来判断这个值到底是不NaN,isNaN()函数在接受到一个值后,会尝试将这个值转换为数值。isNaN()函数也适用于对象。在调用 isNaN()函数过程中,首先会调用 valueOf()方法, 然后确定返回值是否能够转换成数值。如果不能,则基于这个返回值再调用 toString()方法,再测试返回值。

<span style="font-family:KaiTi_GB2312;font-size:24px;">var box = {
toString : function () {
return 'Yang'; //改成Yang查看效果
}
};
alert(isNaN(box)); //false</span>


       Number()、parseInt()和 parseFloat()。Number()函数是转型函数,可以用于任何数据类型,而另外两个则专门用于把字符串转成数值。

    5、string类型

       string类型用于表示由于零或多个16位Unicode字符组成的字符序列,即字符串。字符串可以有双引号(“”)或(‘’)表示。但是单引号和双引号必须成对出现,不能穿插使用,否则会出错。String类型包含了一些特殊的字符字面量,也叫转义序列。

字面量

含义

\n

换行

\t

制表

\b

空格

\r

回车

\f

进纸

\\

斜杠

\’

单引号

\”

双引号

\xnn

以十六进制代码nn表示的一个字符(0~F)。

\unnn

以十六进制代码nnn表示的一个Unicode字符(0~F)。

 

   6、object类型

      Object()是对象构造,可以使用new Object()来表示对象,也可以使用这种new操作符来创建其他类型的对象。Object()里可以任意传参,可以传数值、字符串、布尔值等,而且可以进行相应的计算。但它也可以不需要传递参数。

三、总结

     数据类型是JavaScript中EMCAScript中比较基础的一部分知识,感觉它和VB中的数据类型相似中也有不同。现在才理解米老师说的学了VB之后再学习其他语言就不会有多大的困难了。

                  

 

 

                   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: