博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据类型
阅读量:5765 次
发布时间:2019-06-18

本文共 2201 字,大约阅读时间需要 7 分钟。

js中的数据类型

js中的数据类型分为两大类,简单数据类型和复合(复杂)数据类型,共六种。分别是:

简单数据类型:

字符串 String
数字 Number
布尔值 Boolean
未定义 Undefined
空 Object

复合(复杂)数据类型:

对象 Object

字符串类型(String)

由一对引号包含起来了有0个或多个字符组成的串,引号一定是成对的 。

1 var s1='a';//单引号2 console.log(s1);//a3 var s2="b";//双引号4 console.log(s2);//b

可以用'+'号把多个字符串拼接到一起。

1 var a='世界';2 var b='你好';3 console.log(a+b);//世界你好

当加号左边或者右边有一个是字符串的时候,加号代表字符串连接。

1 var a='10';2 var b=1;3 console.log(a+b);//101

当一个数字和空字符串相加,返回的是转换成字符串的数字。

1 var a='';2 var b=20;3 console.log(a+b);//字符串20

数字类型(Number)

由0-9之间的任意一个数字组合而成,分为整数和小数,取值范围从负无穷(-Infinity)到正无穷(+Infinity),有最小值也有最大值。

最小值:Number.MIN_VALUE;

1 console.log(Number.MIN_VALUE);//5e-324

最大值:Number.MAX_VALUE;

1 console.log(Number.MAX_VALUE);//1.7976931348623157e+308

 数字类型还有一个特殊的类型NaN,它用来表示非数字。它有一个特性,自己跟自己都不相等。

1 console.log(Number('a'));//NaN2 console.log(NaN==NaN);//false

布尔值类型(Boolean)

布尔值分为两种,true和false,true代表真,false代表假。

1 var a=1;2 var b=2;3 console.log(a
b);//false

未定义类型(Undefined)

该类型只有一个值:undefined。当声明的变量没有赋值时,变量的默认值为undefined。

1 var a;2 console.log(a);//undefined

undefined只有再跟null做对比的时候会返回true,其他都返回false。这是因为ECMAScript认为undefined是从null派生出来的,所以把它们定义为相等的。

1 console.log(undefined==null);//true

空类型(Object)

该类型只有一个值:null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。

1 function fn(){2     return document.getElementById("aaa");//null,这个对象不存在3 }4 console.log(fn());

为什么null的类型是Object呢?其实这是JavaScript最初实现的一个错误,后来被ECMAScript沿用下来。在今天我们可以解释为,null即是一个不存在的对象的占位符。

对象类型(Object)

对象类型是由简单的数据类型和复合数据类型组合而成的。它的数据是放在一个大括号中{}。数据有0个或者多个键值对组成,每一个数据之间用逗号隔开,最后一个数据不能用逗号,不然会报错。

1 {a:10,b:'hello',c:[]};

键值对:key:value;

key:数据名字,可以加引号也可以不加引号。当这个名字不符合变量命名规范的时候要加上引号。

value:数据对应的值,js中的任意一种数据类型都可以。

取对象中的某一个数据:用属性操作的方式。

1 var a={a:10,b:'hello'};2 console.log(a.a);//103 console.log(a.b);//hello

typeof

返回数据对应的类型(字符串),跟系统自带的数据类型会有区别,首字母是小写的。

1 var s='a';2 console.log(typeof s);//string

判断一个数据类型的时候,用typeof==小写的对应类型。

1 var s='a';2 if(typeof s=='string'){ //结果为真3     alert(1);//14 }

判断一个数据是不是为null,不能用typeof,因为typeof null返回的是object,应该直接让它跟null做对比。

1 var s=null;2 if(s==null){ //结果为真3     alert(1);//14 }else{5     alert(2);6 }

函数用typeof后返回的是function。

1 var a=function(){};2 console.log(typeof a);//function

 

转载于:https://www.cnblogs.com/imguo/p/5763118.html

你可能感兴趣的文章
css详解1
查看>>
MySQL类型转换
查看>>
HashSet HashMap 源码阅读笔记
查看>>
变量声明提升1
查看>>
轻量级的Java 开发框架 Spring
查看>>
JS之路——浏览器window对象
查看>>
Chrome教程(二)使用ChromeDevTools命令菜单运行命令
查看>>
数据结构及算法基础--快速排序(Quick Sort)(二)优化问题
查看>>
你对position的了解到底有多少?
查看>>
随笔2013/2/19
查看>>
Windows Phone的Silverlight Toolkit 安装及其使用
查看>>
DBS:同学录
查看>>
Mysql备份系列(1)--备份方案总结性梳理
查看>>
[CareerCup] 1.6 Rotate Image 翻转图像
查看>>
Python中的画图初体验
查看>>
Java程序员的日常 —— 响应式导航Demo
查看>>
objective-c内存管理基础
查看>>
sap关于价值串的说法(转载)
查看>>
Migration to S/4HANA
查看>>
sed 对目录进行操作
查看>>