f10@t's blog

Javascript基础之数据类型1

字数统计: 938阅读时长: 3 min
2018/08/15

Javascript属于一种弱类型语言,定义变量时不需要指定类型,一个变量可以储存任何类型的值,但在运算时,JavaScript还是会把它转换成相应的数据类型。

Javascript中,数据存在着两种不同的储存方式,直接储存数据和间接储存数据,前者成为值类型数据;而后者通过储存数据的空间地址来间接保存数据,称为引用型数据。


图片来源

三种基本数据类型:数值、字符串和布尔型。

数值型

Javascript数值不区分整数和浮点数,所遇到额数都能为浮点型数值来表示。除了基本的算术运算外,Javascript还提供了大量的算数函数,均包含在Math内置对象中。 如:

1
2
3
var a = 100;
var c = a.toString() //转换为字符串
alert(typeof(c));
快捷方法:使用数值与空字符串,即可把数值转换为字符串,如下
1
2
3
var a = 100;
var c = a + "" //转换为字符串
alert(typeof(c)); //返回值为string类型
(推荐使用可以使用firebug的版本的firefox浏览器,在firebug的控制台中可以进行代码的运行查看,或者在开发者工具里的代码草稿纸中直接运行或者在HTML代码中用script标签,在网页中查看)

字符串类型

字符串由Unicode字符、数字、标点符号等组成的字符序列,字符串出必须使用单引号或双引号包括。 如:

1
2
3
4
5
var str = "abcdefg"      //简单字符串
var str = "'JavaScript'" //包含单引号的字符串
var str = '<meta charset="utf-8">' //HTML字符换
var str = 1; //test
alert(str);
从结果中也可以看出JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型: 使用parseInt()和parseFloat()方法可以将字符串变为整数。 如:
1
2
3
var str = "123.30";
var a = parseInt(str); //返回值为123
var b = parseFloat(str); //返回值为123.3
便捷方法:让一个字符串与1相乘就可以将字符串转换为数值。
1
2
3
var str = "123.30";
var a = str * 1;
alert(typof(a)) //返回nunmber类型

布尔型

布尔类型仅包括两个值true和false。分别表示逻辑的真和假。布尔值多用在逻辑运算,比较运算中的条件语句或运算符的条件而使用。 使用两个!!就可以将任何值转为布尔型数据 如:

1
2
3
4
var a = 100;
var c = !!a;
alert(c);
alert(typeof(c));
任何非空字符转换为布尔值为true,空格转换后为false 如将布尔值转换为字符串,则true为'true',false为'false'。

注意:以下为一组不同类型的假值:

1
2
3
4
5
6
1. 0              //Number
2. NaN //Number
3. ’’ //String
4. false //boolean
5. null //Object
6. undefined //Undefined

两个特殊值

除了上面的简单的三个数据类型,js中还有两个特殊的数据类型的值:null和undefined null是Null类型的值,且Null类型只有一个值,即null,表示空值。当对象为空,挥着变量没有引用任何对象,其返回值就为null。当一个变量的值为null时,那么他的值就不是有效的对象、数组、数值、字符串和布尔型等。如果用以下代码测试其类型:

1
2
var a = null;
alert(typeof(a));
会得到这个结果: 是一种特殊的对象。 undefined表示未定义的值,当变量未初始化时,会默认他的值为undefined。它区别任何对象、数组、数值、字符串和布尔型,使用typeof检测返回值为undefined。

三个引用型数据

引用型数据包括数组(Array)、对象(Object)和函数(Function)等,详细请移步下一篇博客~~

CATALOG
  1. 1. 三种基本数据类型:数值、字符串和布尔型。
    1. 1.1. 数值型
    2. 1.2. 字符串类型
    3. 1.3. 布尔型
  2. 2. 两个特殊值
  3. 3. 三个引用型数据