一、序

数据类型,平时天天在用,今日闲暇便重新阅读了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#的语法很像,也经常用来做封装用。

四、结语

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

重新认识JavaScript里的数据类型的更多相关文章

  1. JavaScript 中的数据类型

    Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...

  2. JavaScript中基本数据类型和引用数据类型的区别

    1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变 ...

  3. 细说 JavaScript 七种数据类型

    在 JavaScript 规范中,共定义了七种数据类型,分为 “基本类型” 和 “引用类型” 两大类,如下所示: 基本类型:String.Number.Boolean.Symbol.Undefined ...

  4. JavaScript 七种数据类型

    在 JavaScript 规范中,共定义了七种数据类型,分为 “基本类型” 和 “引用类型” 两大类,如下所示: 基本类型:String.Number.Boolean.Symbol.Undefined ...

  5. JavaScript中基本数据类型和引用数据类型的区别(栈——堆)

    JavaScript中基本数据类型和引用数据类型的区别 1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据 ...

  6. 面试说:聊聊JavaScript中的数据类型

    前言 请讲下 JavaScript 中的数据类型? 前端面试中,估计大家都被这么问过. 答:Javascript 中的数据类型包括原始类型和引用类型.其中原始类型包括 null.undefined.b ...

  7. javascript里for循环的一些事情

    今天在给一个学妹调她的代码BUG时,她的问题就是在一个for循环里不清楚流程的具体流向,所以导致了页面怎么调都是有问题,嗯确实你如果不清楚语句流向很轻易就会出问题,所以说for循环不会用或者说用的不恰 ...

  8. javaScript中的数据类型

    一.综述 javaScript中的数据类型分为两类: 简单类型:Boolean,Number,String 引用类型:Object 其他:undefined代表变量没有初始化,null代表引用类型为空 ...

  9. Javascript中的数据类型之旅

    虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number.String.Boolean.Object.Udefined.Null.其中,Object属于复杂数据类型, ...

随机推荐

  1. 每天一个linux命令(38)--lsof命令

    lsof (list open files )是一个列出当前系统打开文件的工具,在Linux 环境下,任何事情都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控 ...

  2. Asp.Net 常用工具类之加密——非对称加密RSA算法

    踏入程序员这个行业也有几年了,几年中有收获(技术加强),有付出(时间和亚健康状态).当然喏,并不后悔,代码路还长!!! On The Way,永不止步!!! 开发过程中也积累了一些自己的经验.代码块和 ...

  3. Spring框架---Spring入门

    Spring入门 为了能更好的理解先讲一些有的没的的东西: 什么是Spring Spring是分层的JavaSE/EE full-stack(一站式) 轻量级开源框架 分层 SUN提供的EE的三层结构 ...

  4. PCB行业版特色功能展示

    普实PCB行业版,专为PCB行业需求而定制.秉承一体化.集团化.移动化为设计理念,采用互联网技术.云计算技术.移动应用技术开发的新一代系统帮助PCB企业创新管理模式.引领商业变革!系统从接到订单开始, ...

  5. js substr和substring的区别

    在js中substring和substr都是用来截取字符串的,substr函数和substring函数都是用来从某个“母字符串”中提取“子字符串”的函数.但用法有些差别,下面分别介绍但是它们还是有区别 ...

  6. PetaPoco 快速上手

    今天来给大家分享一个好用的轻型的.net框架的ORM——PetaPoco 本着快速上手的原则,我们通过和EF对比,让大家能快速使用PetaPoco PetaPoco大家可能没有听说过,但大家一定听说过 ...

  7. maven新建的项目,不自动引入依赖包

    1.检查repository的目录是不是纯英文. 2.重新下载一次repository.   如果解决了问题,那么原因就是前面在加载repository的时候,因为断网导致了下载的包有误,无法被ecl ...

  8. kali linux /etc/apt/source.list

    this list is very important , you can not download what you want like fictx , flash-plugin , vm-tool ...

  9. kali linux 折腾笔记

    http://xiao106347.blog.163.com/blog/static/215992078201342410347137/ 这里告诉你刚刚装好kali后要做,有些也是不正确的,可能开始你 ...

  10. Apache Flume日志收集系统简介

    Apache Flume是一个分布式.可靠.可用的系统,用于从大量不同的源有效地收集.聚合.移动大量日志数据进行集中式数据存储. Flume简介 Flume的核心是Agent,Agent中包含Sour ...