JS--JavaScript数据类型(数值、字符串、布尔值)详解

JavaScript 专栏收录该内容
47 篇文章 1 订阅

JavaScript数据类型

JavaScript是一种弱类型语言,在定义变量时不需要指定类型,一个变量可以存储任何类型的值。不过这并不等于JavaScript不区分数据类型,只不过在运算时,JavaScript能自动转换数据类型。但是在特定条件下,还需要用户了解JavaScript的数据类型。

在JavaScript中,数据存在两种截然不同的存储方式。其中一种是直接存储数据,称为值类型数据;另一种是存储数据的空间地址来间接保存数据,称为引用型数据。不同类型的数据,它们的行为方式存在很大的不同。

数值

JavaScript包含3种基本数据类型:数值、字符串、布尔值。
JavaScript数值是不区分整型和浮点数,所有数值都为浮点型数值来表示。
除了基本的算数运算外,JavaScript还提供大量的算数函数,以支持复杂的算数运算,这些函数都被包含在Math内置对象中,称为JavaScript的核心。
使用toString()方法可以把数值转换为字符串。

示例:使用toString()方法把数值100转换为字符串,然后使用typeof()方法验证转换后的数据类型

var a = 100;
var c = a.toString();//转换为字符串
alert(typeof(c));//返回string

在这里插入图片描述
另一种方式:

var a = 100;
var c = a + "";
alert(typeof(c));

JavaScript定义的特殊值:

说明
Infinity无穷大
NaN非数值
Number.MAX_VALUE可表示的最大数值
Number.MIN_VALUE可表示的最小数值
Number.NaN非数值
Number.POSITIVE_INFINITY正无穷大
Number.NEGATIVE_INFINITY负无穷大

字符串

字符串由Unicode字符、数字、标点符号等组成的字符序列,字符串处必须使用单引号或双引号包括起来。单引号可以包含双引号,双引号中也可以包含单引号。若有字符应该在同一行内容书写。

示例:

var str = "字符串序列";		//简单的字符串
var str = "'JavaScript'不是'Java'"//包含单引号的字符串
var str = '<meta charset = "utf-8">';	//HTMl字符串

使用parseInt()和parseFloat()方法可以把字符串转换为数值:

var str = "123.30";
var a = parseInt(str);//返回数值123
var b = parseFloat(str);//返回数值123.3

便捷方法:让字符串与1相乘,即可把字符串转换为数值

var str = "123.30";
var a = str * 1;
alert(typeof a);

布尔型

布尔型数据仅包括2个值:true和false,它们分别表示逻辑的真和假。布尔值多用在逻辑运算、比较运算中,或者作为条件语句或运算符的条件而使用。

要把任何值转换为布尔型数据,在值的前面增加两个叹号即可。
示例:

var a = 100;
var c = !!a;
alert(c);
alert(typeof c);
  • 任何非0数字转换为布尔值后为true,而0转换为布尔值为false。
  • 任何非空字符串转换为布尔值后为true,而空格转换为布尔值为false。
  • 如果把布尔值转换为字符串,则true为“true”,false为“false”。

示例:

var b = false;
a = a + "";//值为“true”
b = b + "";//值为“false”

如果把布尔值转换为数值,则true为1,false为0.

var a = true;
var b = false;
a = a * 1;//值为1
b = b * 1;//值为0

JavaScript语法系统拥有一大组假值,具体如下。这些值的布尔值都是false。

0 //Number
NaN //Number
'' //String
false //Boolean
null //Object
undefined //Undefined

null和undefined:
在JavaScript中由两个特殊类型的值:null和undefined。它们的行为非常相似,含义和用法也差不多,它们同时存在,并一致沿用到现在,是早期JavaScript语言不成熟的产物。

null是Null类型的值,Null类型的值只有一个值(null),它表示空值。
如果当一个变量的值为null,则表明它的值不是有效的对象、数组、数值、字符串和布尔型等。如果使用typeof运算符检测null值的类型,则返回object,说明它是一种特殊的对象。
undefined表示未定义的值,当变量未初始化值时,会默认其值为undefined。区别任何对象、数组、数值、字符串和布尔型。使用typeof运算符检测undefined的类型,返回值为undefined。

引用型数据

除了3种基本数据类型和两种特殊数据类型外,JavaScript还提供3种复杂的数据类型。这些类型数据一般引用特定位置的值,故称为引用型数据。

引用型数据包括:数组、对象和函数等。

  • 4
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 程序猿惹谁了 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值