重新认识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#的语法很像,也经常用来做封装用。
四、结语
现在准备去跑步,每天坚持锻炼,身体是革命的本钱。
重新认识JavaScript里的数据类型的更多相关文章
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- JavaScript中基本数据类型和引用数据类型的区别
1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变 ...
- 细说 JavaScript 七种数据类型
在 JavaScript 规范中,共定义了七种数据类型,分为 “基本类型” 和 “引用类型” 两大类,如下所示: 基本类型:String.Number.Boolean.Symbol.Undefined ...
- JavaScript 七种数据类型
在 JavaScript 规范中,共定义了七种数据类型,分为 “基本类型” 和 “引用类型” 两大类,如下所示: 基本类型:String.Number.Boolean.Symbol.Undefined ...
- JavaScript中基本数据类型和引用数据类型的区别(栈——堆)
JavaScript中基本数据类型和引用数据类型的区别 1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据 ...
- 面试说:聊聊JavaScript中的数据类型
前言 请讲下 JavaScript 中的数据类型? 前端面试中,估计大家都被这么问过. 答:Javascript 中的数据类型包括原始类型和引用类型.其中原始类型包括 null.undefined.b ...
- javascript里for循环的一些事情
今天在给一个学妹调她的代码BUG时,她的问题就是在一个for循环里不清楚流程的具体流向,所以导致了页面怎么调都是有问题,嗯确实你如果不清楚语句流向很轻易就会出问题,所以说for循环不会用或者说用的不恰 ...
- javaScript中的数据类型
一.综述 javaScript中的数据类型分为两类: 简单类型:Boolean,Number,String 引用类型:Object 其他:undefined代表变量没有初始化,null代表引用类型为空 ...
- Javascript中的数据类型之旅
虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number.String.Boolean.Object.Udefined.Null.其中,Object属于复杂数据类型, ...
随机推荐
- 在Vue中通过自定义指令获取元素
vue.js 是数据绑定的框架,大部分情况下我们都不需要直接操作 DOM Element,但在某些时候,我们还是有获取DOM Element的需求的: 在 vue.js 中,获取某个DOM Eleme ...
- 版本管理工具 —— SVN
想想我们在开发过程中是不是会遇到这样的情况: 今天写了很长的一段代码,觉得不合理,然后删了,第二天突然发现昨天的那段代码才是正确的,那怎么办,也无法撤销删除的代码? 还有团队中多人共同开发一个项目,如 ...
- Java Trie树
Tire树,又叫字典树,主要是用来查找单词,词频统计的. 老规矩,直接上代码. package tireTree; public class TireTree { TireNode root; pub ...
- 基于SSH协议的端口转发
[前言] 最近一直在使用ssh协议的端口转发(隧道)功能,完成对内网空透等.这篇文章将主要讲解3种常用的ssh tunnelling使用方法和基本原理. 在介绍具体内容前,我先奉上端口转发的常用情景: ...
- Cesium原理篇:3D Tiles(2)数据结构
上一节介绍3D Tiles渲染调度的时候,我们提到目前Cesium支持的Cesium3DTileContent目前支持如下类型: Batched3DModel3DTileContent Instanc ...
- 开源中文分词工具探析(五):FNLP
FNLP是由Fudan NLP实验室的邱锡鹏老师开源的一套Java写就的中文NLP工具包,提供诸如分词.词性标注.文本分类.依存句法分析等功能. [开源中文分词工具探析]系列: 中文分词工具探析(一) ...
- eclipse下配置安装ssm图文教程(web版)
eclipse下配置安装ssm图文教程(web版) 一.安装所需jar包 1.1 mybatis安装包 可以进入GitHub的https://github.com/mybatis/mybatis-3 ...
- applicationContext.xml的配置
想必用过Spring的程序员们都有这样的感觉,Spring把逻辑层封装的太完美了(个人感觉View层封装的不是很好).以至于有的初学者都不知道Spring配置文件的意思,就拿来用了.所以今天我给大家详 ...
- python 使用内置函数sorted对各种数据类型进行排序
python有两个内置的函数用于实现排序,一个是list.sort()函数,一个是sorted()函数. 区别1:list.sort()函数只能处理list类型数据的排序:sorted()则可以处理多 ...
- 解决error104 connection reset by peer;socket error问题
这个问题原因有两个: 1.因为你访问网站太多次,所以被网站管理员给禁止访问了. 解决方法: 1.延长time.sleep时间 2.设置代理 2.根本没有这个网站.(打开链接检查一下!!!)