重新认识JavaScript里的数据类型

一、序

      数据类型,平时天天在用,今日闲暇便重新阅读了JavaScript数据类型这块,才发现平时用的时候有许些错误和不足,且对此深有感悟,便写下这篇文章加以巩固基础知识并有空翻出来温故而知新。

二、概述

      ECMAScript中有5种基本数据类型:Undefined、Null、Boolean、Number、String;当然还有一种复杂数据类型:Object,Object本质上是有一组无序的名值对组成的,如对象,数组等;

三、数据类型

     3.1:Undefined

            Undefined类型只有一个值,即特殊的undefined(未定义)。在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。如下代码所示:

    <script>
        function testUndefined() {
            var msg;
            console.log(msg);//undefined

            console.log(msg == undefined);//true
        }
        testUndefined();
    </script>

 通过这段代码我们能看到控制台的输出: ,即我们可以把undefined(未定义)翻译为未初始化。另外通过对未初始化的变量执行typeof操作符会返回undefined值,并对未申明的变量

执行typeof操作符也是返回undefined值,所以平时我们可以通过typeof来判断该变量是否初始化或是否申明了变量;

     3.2 Null类型

          Null类型也是只有一个值的数据类型,即特殊的null。通过对面向对象的学习,我们都知道这表示一个空对象指针,平时在写C#代码的时候,也偶尔会遇到这个,如果没有做null判断而使用该对象,就会抛出null异常。既然它为空对象指针,在使用

typeof来检测的时候就会返回"object"。 如下代码所示:

    <script>
        function testNull() {
            var obj = null;
            console.log(typeof (obj)) // object;
        }
        testNull()
    </script>

在控制台里就能看到输出的是"object",所以平时使用的时候应该先判断是否为null。另外undefined值是派生自null值的,所以null==undefined;

    3.3 Boolean类型

          Boolean类型只有2个值:true、false;这2值是要区分大小写的,所以说True和False都不算是Boolean值,平时用这个类型有时候会搞错,代码没看出来,才通过调试的时候才发现,也是醉了。要将一个值转化其对应的Boolean值,可以调用转型函数

Boolean()。下表给出了对各种数据类型转化后得出的Boolean值;

数据类型 转化为true的值 转化为false的值
Boolean  true   false
String 任何非空字符串 空字符串
Number  任何非零数值 0和NaN
Object  任何对象 null
Undefined 因为Undefined只有个值,所以没有 undefined

 

 

 

 

 

      3.4 Number类型

            Number类型就是我平时用到的整数和浮点数。其中整数有十进制、八进制、十六进制。除了十进制以为,其他进制得在第一位有标识;如八进制是0,然后后面八进制的序列数(0~7),十六进制必须是0x,后跟任何十六进制数字(0~9及A-F);

下面写几组来加深印象;

var num1=10; //十进制整数
var num2=010;//八进制的8
var num3=0xA; //十六机制的10

       3.5 String类型

             String类型用于表示由零个或多个Unicode字符组成的字符序列;可以由双引号和单引号来表示,前后需统一,如下代码:

var str1="hello world";
var str2='hello world';

String类型包含一些特殊的字符串,也叫转义序列,如下表所示:

字符串 含义
\n 换行
\t 制表
\b 退格
\r 回车
\f 换页,将当前位置移动下页开头
\\ 斜杠
\' 单引号
\” 双引号

 

 

 

 

 

 

 

 

       3.6 Object类型

             Object其实就是一组数据和功能的集合,对象可以通过new来创建。这个和C#的语法很像,也经常用来做封装用。

四、结语

     现在准备去跑步,每天坚持锻炼,身体是革命的本钱。

posted @ 2017-04-02 20:21  Rich.W  阅读(149)  评论(0编辑  收藏  举报