数据类型——数值字符串
目录
一.数值(全局方法)
1.parseInt()--返回值要么是整数,要么是NAN
2.parseFloat()
3.isNaN()
4.isFinite()
二.字符串
1.概述
1).定义
2).转义
3).字符串与数组
2.字符集
3.Base64 转码
一.数值(全局方法)
1.parseInt()--返回值要么是整数,要么是NAN
1).parseInt
方法用于将字符串转为整数--会将值先转为字符串后再专为十进制整数
如果字符串以0x
或0X
开头,parseInt
会将其按照十六进制数解析。
如果字符串以0
开头,将其按照10进制解析。
对于那些会自动转为科学计数法的数字,parseInt
会将科学计数法的表示方法视为字符串
2).进制转换
parseInt
方法还可以接受第二个参数(2到36之间),表示被解析的值的进制,返回该值对应的十进制数。默认情况下,parseInt
的第二个参数为10,即默认是十进制转十进制。
parseInt('1000', 2) // 8
parseInt('1000', 6) // 216
JavaScript 不再允许将带有前缀0的数字视为八进制数,而是要求忽略这个0
。但是,为了保证兼容性,大部分浏览器并没有部署这一条规定。
2.parseFloat()
1).parseFloat
方法用于将一个字符串转为浮点数。
如果字符串符合科学计数法,则会进行相应的转换。
parseFloat('314e-2') // 3.14
parseFloat('0.0314E+2') // 3.14
如果字符串包含不能转为浮点数的字符,则不再进行往后转换,返回已经转好的部分。
如果参数不是字符串,或者字符串的第一个字符不能转化为浮点数,则返回NaN
。
parseFloat([]) // NaN
parseFloat('FF2') // NaN
parseFloat('') // NaN
这些特点使得parseFloat
的转换结果不同于Number
函数。
3.isNaN()
1).isNaN
方法可以用来判断一个值是否为NaN
。
isNaN
只对数值有效,如果传入其他值,会被先转成数值。比如,传入字符串的时候,字符串会被先转成NaN
,所以最后返回true
对于空数组和只有一个数值成员的数组,isNaN
返回false,
原因是这些数组能被Number
函数转成数值
判断NaN
更可靠的方法是,利用NaN
为唯一不等于自身的值的这个特点,进行判断。
function myIsNaN(value) {return value !== value;
}
4.isFinite()
isFinite
方法返回一个布尔值,表示某个值是否为正常的数值。
isFinite(Infinity) // false
isFinite(-Infinity) // false
isFinite(NaN) // false
isFinite(undefined) // false
isFinite(null) // true
isFinite(-1) // true
除了Infinity
、-Infinity
、NaN
和undefined
这几个值会返回false
,isFinite
对于其他的数值都会返回true
。
二.字符串
1.概述
1).定义
字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。
字符串默认只能写在一行内,分成多行将会报错。
如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。
var longString = 'Long \
long \
long \
string';longString
// "Long long long string"
如果想输出多行字符串,有一种利用多行注释的变通方法。
(function () { /*
line 1
line 2
line 3
*/}).toString().split('\n').slice(1, -1).join('\n')
// "line 1
// line 2
// line 3"
2).转义
反斜杠(\)在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。
需要用反斜杠转义的特殊字符,主要有下面这些。
\0
:null(\u0000
)\b
:后退键(\u0008
)\f
:换页符(\u000C
)\n
:换行符(\u000A
)\r
:回车键(\u000D
)\t
:制表符(\u0009
)\v
:垂直制表符(\u000B
)\'
:单引号(\u0027
)\"
:双引号(\u0022
)\\
:反斜杠(\u005C
)
上面这些字符前面加上反斜杠,都表示特殊含义
(1)\HHH
反斜杠后面紧跟三个八进制数(000
到377
),代表一个字符。HHH
对应该字符的 Unicode 码点,比如\251
表示版权符号。显然,这种方法只能输出256种字符。
(2)\xHH
\x
后面紧跟两个十六进制数(00
到FF
),代表一个字符。HH
对应该字符的 Unicode 码点,比如\xA9
表示版权符号。这种方法也只能输出256种字符。
(3)\uXXXX
\u
后面紧跟四个十六进制数(0000
到FFFF
),代表一个字符。XXXX
对应该字符的 Unicode 码点,比如\u00A9
表示版权符号。
如果在非特殊字符前面使用反斜杠,则反斜杠会被省略。
如果字符串的正常内容之中,需要包含反斜杠,则反斜杠前面需要再加一个反斜杠,用来对自身转义。
3).字符串与数组
字符串可以被视为字符数组,因此可以使用数组的方括号运算符,用来返回某个位置的字符(位置编号从0开始)。
如果方括号中的数字超过字符串的长度,或者方括号中根本不是数字,则返回undefined
。
字符串与数组的相似性仅此而已。实际上,无法改变字符串之中的单个字符。
4).length属性
length
属性返回字符串的长度,该属性也是无法改变的。
2.字符集
JavaScript 使用 Unicode 字符集。JavaScript 引擎内部,所有字符都用 Unicode 表示。
3.Base64 转码
JavaScript 原生提供两个 Base64 相关的方法。
btoa()
:任意值转为 Base64 编码atob()
:Base64 编码转为原来的值
这两个方法不适合非 ASCII 码的字符,会报错。
要将非 ASCII 码字符转为 Base64 编码,必须中间插入一个转码环节,再使用这两个方法。
function b64Encode(str) {return btoa(encodeURIComponent(str));
}function b64Decode(str) {return decodeURIComponent(atob(str));
}
数据类型——数值字符串相关推荐
- ML之FE:数据处理—特征工程之特征三化(标准化【四大数据类型(数值型/类别型/字符串型/时间型)】、归一化、向量化)简介、代码实现、案例应用之详细攻略
ML之FE:数据处理-特征工程之特征三化(标准化[四大数据类型(数值型/类别型/字符串型/时间型)].归一化.向量化)简介.代码实现.案例应用之详细攻略 目录 真正意义的标准化与归一化 1.标准化/Z ...
- redis:redis介绍和安装、普通连接和连接池、redis 5大数据类型之字符串、Hash、列表、其他操作(通用)、管道、django使用redis、接口缓存
目录 一. redis介绍和安装 二. 普通连接和连接池 三. redis 5大数据类型之字符串 四. redis 5大数据类型之Hash 五. redis 5大数据类型之列表 六. 其他操作(通用) ...
- python数值类型教程_Python 基础数据类型-数值类型
Python 基础数据类型-数值类型 为什么会有数据类型?[了解] 更好分配管理内存 方便统一管理 更贴近人类分类管理习惯 数据类型种类 [熟悉] 数值类型:int.bool.float.comple ...
- python提供的三种基本数值类型_Python 基础数据类型-数值类型
Python 基础数据类型-数值类型 为什么会有数据类型?[了解] 更好分配管理内存 方便统一管理 更贴近人类分类管理习惯 数据类型种类 [熟悉] 数值类型:int.bool.float.comple ...
- python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)
这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...
- Python基础数据类型之字符串(二)
Python基础数据类型之字符串(二) 一.字符串的常规操作 二.字符串的大小写转换 1.首字母大写 2. 每个单词首字母大写 3.大写转化为小写 4.所有字母变成大写字母 二.验证码忽略大小写 三. ...
- Python基础数据类型之字符串(一)
Python基础数据类型之字符串(一) 一.字符串格式化 1.字符串占位符 2.字符串格式化操作 二.f-string格式化 三.字符串的索引 四.字符串的切片 1.常规切片使用方法 3.步长的介绍 ...
- API-基本数据类型与字符串的互换
今天学习了基本数据类型与字符串之间的互换,与大家共享下! 首先我们来看基本数据类型转化为字符串: API中为我们提供了toString()函数和String.valueOf()函数,应用如下: pub ...
- 基本数据类型与字符串的转换
基本数据类型与字符串的转换 1.字符串转化成其他类型 口诀:需要转成什么类型就用什么类型的包装类调用方法 byte Byte short Short int Integer long Long cha ...
最新文章
- 运维:windows+python+route的一次相遇
- jquery datatable设置垂直滚动后,表头(th)错位问题
- 被裁之后才明白:有一种抗风险能力,叫做会讲故事
- ECharts 实现地图散点图上(转载)
- java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序...
- Device Mapper Multipath(DM-Multipath)
- 2016年1月19日 video.js修改视频源后再调用
- linux下socket调试,linux下socket调试
- 用VC++自制王码五笔输入法安装包(转)
- 兼容性视图html页面,浏览器兼容性视图设置在哪
- element-ui中file-upload组件的提示,‘按delete键可删除’去掉
- DINO:2022.3_SOTA_COCO_DETR
- 第三章 关系数据模型
- JavaScript 值得一读的书籍
- python unicode error_python-ValueError:操作参数必须为str或unicode
- 计算机用户名密码不知道了怎么改,电脑系统账号administrator设置了密码,密码忘记了怎么办?...
- 【数据库】四(1)、数据查询之单表查询
- 腾讯成立微信事业群 张小龙称保持小团队心态
- 【笔记】KMeans聚类算法
- CCNP350-401学习笔记(1-50题)
热门文章
- CPU性能指标和分析工具
- 德育php,华苑小学德育教育平台的设计与实现(PHP,MySQL)(含录像)
- 关于FPGA的并行方式
- 手机自带计算机没有删除桌面找不到了,请问,怎么卸载桌面没有图标的软件,用完美卸载也找不到?...
- videojs 销毁重新初始化
- Haproxy群集+Nginx负载均衡+Tomcat架构搭建
- python psycopg2_Python和psycopg2在大数据下的多处理性能
- 查看maven仓库地址
- js中对象不支持此属性或方法
- ruijie交换机lacp动态_华为交换机LACP模式(动态)链路聚合配置示例