javascript特殊数据类型

JavaScript的特殊数据类型有3种:

(1)空值(null型)
(2)未定义值(undefined型)
(3)转义字符
这一节的知识点可能比较生涩难懂,不过没关系,对于初学者大家了解一下即可。

一、空值(null型)

整型、浮点型这些数据在定义的时候,系统都会分配一定的内存空间。JavaScript中的关键字null是一个特殊的值,它表示空值,系统没有给它分配内存空间(啊,非计算机专业的人理解比较困难,但是没关系哈,了解一下即可)。

如果试图引用一个没有定义的变量,则返回一个null值。这里要非常强调一点:null不等同于空的字符串("")或0,因为空的字符串("")或0是存在的,但是null表示其不存在的。

二、未定义值(undefined型)

如果一个变量虽然已经用var关键字声明了,但是并没有对这个变量进行赋值,而无法知道这个变量的数据类型,因此这个变量的数据类型是undefined,表示这是一个未定义数据类型的变量。

此外,JavaScript中有一种特殊类型的数字常量NaN,即“非数字”。当在程序中由于某种原因发生计算错误后,将产生一个没有意义的数字,此时JavaScript返回的数字值就是NaN。

null与undefined的区别是,null表示一个变量被赋予了一个空值,而undefined则表示该变量尚未被赋值。

举例:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript">
        var name;
        document.write(name+"<br/>");
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:
JavaScript 特殊数据类型

三、转义字符

我们先看一段代码:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript">
        document.write("JavaScript入门教程");
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:
转义字符

如果我们想要实现如下的效果,该怎么办呢?
JavaScript 特殊数据类型

很多人就会想到使用以下语句来实现:

document.write("IT懒猫社区"JavaScript"入门教程");

咦?怎么回事?怎么在页面无法输出呢?其实大家仔细看一下上面语句,如果我们那样写,总共有4个引号,JavaScript怎么识别前后哪两个引号是一对的呢?为了避免这种情况出现,JavaScript引入了转义字符。

以反斜杠“\”开头的不可显示的特殊字符通常称为转义字符。通过转义字符可以在字符串中添加不可显示的特殊字符,或者防止引号匹配混乱的问题。

转义字符	说明
\b	退格
\n	回车换行
\t	Tab符号
\f	换页
\'	单引号
\"	双引号
\v	跳格(Tab,水平)
\r	换行
\\	反斜杠
\OOO	八进制整数,范围为000~777
\xHH	十六进制整数,范围为00~FF
\uhhhh	十六进制编码的Unicode字符

这张表列举了JavaScript常用的转义字符,根据个人的开发经验中,只需要记忆\n、'、"这3个就已经够初学者走很远了,其他的转义字符我们完全没必要去记忆,到时候需要的时候再回来查这张表就行了,大家别浪费脑细胞喔。