重新认识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属于复杂数据类型, ...
随机推荐
- JSP中三种弹出对话框的用法《转》
对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...
- 关于margin
----W3School -----margin CSS 边距属性定义元素周围的空间.通过使用单独的属性,可以对上.右.下.左的外边距进行设置.也可以使用简写的外边距属性同时改变所有的外边距. 这个简 ...
- C#的数据类型、数据类型的转化
一.c#有15个预定义类型,其中13个是值类型,两个是引用类型(string 和 object)这里主要说明整型.浮点型.布尔型以及引用型 1.整型数据 2.浮点型 浮点型从精度有低到高有float. ...
- J2ee技术难点
J2ee技术难点 session/cookie区别联系 jsp/servlet区别联系 filter执行流程 openSessionInView原理 clone与servilizable区别联系 eq ...
- [hihoCoder]1014 Trie水题
最最最最最最最基本的Trie词频统计应用了. package trie; import java.util.Scanner; public class Main { public static voi ...
- mysql数据库开始——增删改
注释语法:#注释语 一.T-SQL语句注意:1.语句写完后用“分号:”代表这一句结束2.列结束用逗号,最后一列写完不用写逗号3.符号一定是英文的 关键字:主键:primary key外键:foreig ...
- Ionic2 开发笔记(1)ionic2 +angular2搭建
1.去node.js官网下载对应版本https://nodejs.org/en/(不会请看OnsenUi搭载,里面有详细过程) 2.然后通过npm下载Ionic和cordova $ npm insta ...
- 1036: [ZJOI2008]树的统计Count
1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 7496 Solved: 3078[Submit] ...
- PowerDesigner建模应用(二)逆向工程,导出PDM文件前过滤元数据(表、视图、存储过程等)
在上一篇文章<PowerDesigner建模应用(一)逆向工程,配置数据源并导出PDM文件>步骤二中导出了目标数据库对应的PDM文件, 该文件中展示出了所有表的信息与关系. 某些业务场景下 ...
- click和onclick本质的区别
原生javascript的click在w3c里边的阐述是DOM button对象,也是html DOM click() 方法,可模拟在按钮上的一次鼠标单击. button 对象代表 HTML 文档中的 ...