JS--JavaScript数据类型(数值、字符串、布尔值)详解
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种复杂的数据类型。这些类型数据一般引用特定位置的值,故称为引用型数据。
引用型数据包括:数组、对象和函数等。
JS--JavaScript数据类型(数值、字符串、布尔值)详解相关推荐
- python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)
这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...
- python加密字符串小写字母循环后错两位_python数据类型_字符串常用操作(详解)
这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...
- 数值和布尔值的解构赋值
数值和布尔值的解构赋值 解构赋值时,如果等号右边是数值和布尔值,则会先转为对象. let {toString: s} = 123; s === Number.prototype.toString // ...
- JavaScript Promise返回值详解
JavaScript Promise返回值详解 Promise回顾 Promise回调函数返回非Promise值 Promise回调函数返回Promise对象 Promise回调函数中抛出错误 总结 ...
- vue.js循环for(列表渲染)详解
vue.js循环for(列表渲染)详解 一.总结 一句话总结: v-for <ul id="example-1"> <li v-for="item in ...
- JavaScript 面试中常见算法问题详解
JavaScript 面试中常见算法问题详解,翻译自 https://github.com/kennymkchan/interview-questions-in-javascript.下文提到的很多问 ...
- html+css+javascript实现小游戏2048(详解,附源代码)
html+css+javascript实现小游戏2048(详解,附源代码) 1.上下左右的移动原理相同,这里只详细说明向上移动的方法 2.这里的上下左右由wasd四个键控制 3-小方块空的意思就是没数 ...
- pythontuple数据类型_Python数据类型之Tuple元组实例详解
本文实例讲述了Python数据类型之Tuple元组.分享给大家供大家参考,具体如下: tuple元组 1.概述 本质上是一种有序的集合,和列表非常的相似,列表使用[]表示,元组使用()表示. 特点:一 ...
- php读音量大小,Android_Android中实时获取音量分贝值详解,基础知识
度量声音强度,大 - phpStudy...
Android中实时获取音量分贝值详解 基础知识 度量声音强度,大家最熟悉的单位就是分贝(decibel,缩写为dB).这是一个无纲量的相对单位,计算公式如下: 分子是测量值的声压,分母是参考值的声压 ...
- c语言数据类型int的用法,C语言基本数据类型:整型(int)用法详解|C语言学习
C语言基本数据类型:整型(int)用法详解 1. 整型 int C 语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负.int 是整型之一,一般被称为整型.以后, ...
最新文章
- webservice(基础)
- excel 表格lookup 的操作
- 安卓USB开发教程 三 USB Accessory
- SaltStack Salt 开源管理框架修复2个严重漏洞,多款开源产品等受影响
- 浮动特性-脱标(HTML、CSS)
- 什么是dispatchEvent?
- ubuntu20.04安装simhei字体--jupyter中文显示框框的解决方案
- 京东准点秒杀脚本【2020】
- “枪型思维”产品设计新探索 | 基金持仓诊断
- 2020年,抖音赚钱全攻略,做抖音,看这就够了!
- 灰色预测模型MATLAB代码及使用
- html文字段落设置,css中怎么设置段落样式?
- 应用基准化分析—Benchmark
- 80后90后这一代实在太苦了,什么都赶上了,只有程序员工资还高一点,唉
- 泰拉瑞亚加mod之后如何搭建服务器进行联机
- devops学习(十) Jenkins 流水线
- 读冯友兰之《中国哲学简史》
- iis php cpu负荷过大,解决IIS占用CPU和内存大的问题
- Windows下载Hadoop,本地执行MapReduce
- 23王道数据结构代码题全解(三)