参考JS中的数据类型简介
JS中一共有6种数据类型,分为:
数字(Number)
字符串(String)
布尔值(Boolean)
undefined
null
对象(Object)
-
原始类型和复杂类型
原始类型:最基本的数据类型,不能再往下细分;
JS中的数据原始类型有:数字,字符串,布尔值,undefined和null(这两个是特殊值);
复杂类型:
JS中的复杂类型指的就是对象,对象一个容器,包裹其它的由基本类型组成的键值对组合;
- number
Number数据类型指的是数字,可以为整型,也可以是浮点数。如
var a=12,b=12.5;
- string
字符串由零个或多个字符构成,字符包括字母,数字,标点符号和空格;需要注意的是
字符串必须放在引号里(单引号或双引号);
如
var bob=”man”;
alert(“bob”);
alert(bob);
浏览器首先会弹出包含有“bob”的字符串,然后弹出包含有“man”的字符串,前者是直接弹出字符串,后者则是弹出变量的值。
- boolean
布尔型数据只能有两种值 true 和 false,在js中true和false是关键字。通常,我们设置布尔值时多用于条件的判断。如:
var flag=true;
if(flag){
//js 代码
}
在条件判断语句中我们将所有的判断条件看做一个布尔值(需要了解一些布尔值的转换特性)。
- underfine
underfine通常指的是没有赋值的变量,通过typeof可以对数据的类型进行判断。如
var a,b=underfine;
alert(a);
alert(typeof a);
两次结果都为underfine。
- null
null是一个只有一个值的特殊类型。表示一个空对象引用
。如:
var a=null;
将a清空。
- object
对象就是由一些彼此相关的属性和方法集合在一起而构成的一个数据实体。常见的对象有array,window,document等。
例:
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth() + 1;
var day = today.getDay();
通过创建对象实例就可以调用对象的方法了,如上就是创建了一个Date的对象实例today,today通过调用Date的方法得出了现在的年月日等信息。
数组array是作为经常使用的对象,是由多个 (键-值) 所组成的一个多容器。其索引 默认是从0开始的。创建数组有两种方法:
- 创建数组对象实例 var arr=new Array(1,2,3);
- 直接使用面向字面量 var a=[1,2,3];
例
<script type="text/javascript">
var date=new Date();
var day=date.getDay();
var weekly=["星期天","星期一","星期二","星期三","星期四","星期五","星期六"]
document.write("today is "+weekly[day]+"<br>");
</script>
结果将输出今天是礼拜几。
数据类型的查看与转换
在js中我们经常需要知道某些变量的数据类型,并将其转换为我们所需要的数据类型。
通常,我们判断变量的数据类型会用到标识符typeof,如:
var mood = "happy";
alert(typeof mood);
alert(typeof 95);
通过标识符,我们可以很快获取数据的类型;
数据的转换中,我们经常用到的是将变量转换成字符串或数字。
转换成字符串要使用toString()
,例
var married = false;
alert(married.toString());
转换成数字时,有两种方法,parseInt()
转换成整数,parseFloat()
转换成浮点数。
例:
var test = parseInt(“blue”); //returns NaN
var test = parseInt(“1234blue”); //returns 1234
var test = parseInt(“22.5”); //returns 22
var test = parseFloat(“1234blue”); //returns 1234
var test = parseFloat(“22.5”); //returns 22.5
JS中的数据类型判断方法
-
typeof
1.介绍:typeof
是一个一元运算符,它只需要一个值,对该值进行类型判断,然后输出该值的类型的字符串表示;
2.用法:typeof+值
,图示如下:3.typeof的一些应用
①. 检查一个变量是否存在,是否已被赋值;②. 验证一个变量既不等于
undefined
又不等于null
;③. 判断某个值是不是函数;
PS:在typeof+函数
的时候,输出的类型为'function'
,但是'function'
也属于对象; -
instanceof(不推荐使用)
1.介绍:instanceof是一个二元操作符,它需要两个值,值需要是对象,用来验证前面的值是否是后面值的实例;
2.用法:值+instanceof+值
:3.为什么不推荐使用instanceof
因为它不能对基础类型进行判断,且有奇怪的BUG,如下:
网友评论