目录

一.数值(全局方法)

1.parseInt()--返回值要么是整数,要么是NAN

2.parseFloat()

3.isNaN()

4.isFinite()

二.字符串

1.概述

1).定义

2).转义

3).字符串与数组

2.字符集

3.Base64 转码


一.数值(全局方法)

1.parseInt()--返回值要么是整数,要么是NAN

1).parseInt方法用于将字符串转为整数--会将值先转为字符串后再专为十进制整数

如果字符串以0x0X开头,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-InfinityNaNundefined这几个值会返回falseisFinite对于其他的数值都会返回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

反斜杠后面紧跟三个八进制数(000377),代表一个字符。HHH对应该字符的 Unicode 码点,比如\251表示版权符号。显然,这种方法只能输出256种字符。

(2)\xHH

\x后面紧跟两个十六进制数(00FF),代表一个字符。HH对应该字符的 Unicode 码点,比如\xA9表示版权符号。这种方法也只能输出256种字符。

(3)\uXXXX

\u后面紧跟四个十六进制数(0000FFFF),代表一个字符。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));
}

数据类型——数值字符串相关推荐

  1. ML之FE:数据处理—特征工程之特征三化(标准化【四大数据类型(数值型/类别型/字符串型/时间型)】、归一化、向量化)简介、代码实现、案例应用之详细攻略

    ML之FE:数据处理-特征工程之特征三化(标准化[四大数据类型(数值型/类别型/字符串型/时间型)].归一化.向量化)简介.代码实现.案例应用之详细攻略 目录 真正意义的标准化与归一化 1.标准化/Z ...

  2. redis:redis介绍和安装、普通连接和连接池、redis 5大数据类型之字符串、Hash、列表、其他操作(通用)、管道、django使用redis、接口缓存

    目录 一. redis介绍和安装 二. 普通连接和连接池 三. redis 5大数据类型之字符串 四. redis 5大数据类型之Hash 五. redis 5大数据类型之列表 六. 其他操作(通用) ...

  3. python数值类型教程_Python 基础数据类型-数值类型

    Python 基础数据类型-数值类型 为什么会有数据类型?[了解] 更好分配管理内存 方便统一管理 更贴近人类分类管理习惯 数据类型种类 [熟悉] 数值类型:int.bool.float.comple ...

  4. python提供的三种基本数值类型_Python 基础数据类型-数值类型

    Python 基础数据类型-数值类型 为什么会有数据类型?[了解] 更好分配管理内存 方便统一管理 更贴近人类分类管理习惯 数据类型种类 [熟悉] 数值类型:int.bool.float.comple ...

  5. python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  6. Python基础数据类型之字符串(二)

    Python基础数据类型之字符串(二) 一.字符串的常规操作 二.字符串的大小写转换 1.首字母大写 2. 每个单词首字母大写 3.大写转化为小写 4.所有字母变成大写字母 二.验证码忽略大小写 三. ...

  7. Python基础数据类型之字符串(一)

    Python基础数据类型之字符串(一) 一.字符串格式化 1.字符串占位符 2.字符串格式化操作 二.f-string格式化 三.字符串的索引 四.字符串的切片 1.常规切片使用方法 3.步长的介绍 ...

  8. API-基本数据类型与字符串的互换

    今天学习了基本数据类型与字符串之间的互换,与大家共享下! 首先我们来看基本数据类型转化为字符串: API中为我们提供了toString()函数和String.valueOf()函数,应用如下: pub ...

  9. 基本数据类型与字符串的转换

    基本数据类型与字符串的转换 1.字符串转化成其他类型 口诀:需要转成什么类型就用什么类型的包装类调用方法 byte Byte short Short int Integer long Long cha ...

最新文章

  1. 运维:windows+python+route的一次相遇
  2. jquery datatable设置垂直滚动后,表头(th)错位问题
  3. 被裁之后才明白:有一种抗风险能力,叫做会讲故事
  4. ECharts 实现地图散点图上(转载)
  5. java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序...
  6. Device Mapper Multipath(DM-Multipath)
  7. 2016年1月19日 video.js修改视频源后再调用
  8. linux下socket调试,linux下socket调试
  9. 用VC++自制王码五笔输入法安装包(转)
  10. 兼容性视图html页面,浏览器兼容性视图设置在哪
  11. element-ui中file-upload组件的提示,‘按delete键可删除’去掉
  12. DINO:2022.3_SOTA_COCO_DETR
  13. 第三章 关系数据模型
  14. JavaScript 值得一读的书籍
  15. python unicode error_python-ValueError:操作参数必须为str或unicode
  16. 计算机用户名密码不知道了怎么改,电脑系统账号administrator设置了密码,密码忘记了怎么办?...
  17. 【数据库】四(1)、数据查询之单表查询
  18. 腾讯成立微信事业群 张小龙称保持小团队心态
  19. 【笔记】KMeans聚类算法
  20. CCNP350-401学习笔记(1-50题)

热门文章

  1. CPU性能指标和分析工具
  2. 德育php,华苑小学德育教育平台的设计与实现(PHP,MySQL)(含录像)
  3. 关于FPGA的并行方式
  4. 手机自带计算机没有删除桌面找不到了,请问,怎么卸载桌面没有图标的软件,用完美卸载也找不到?...
  5. videojs 销毁重新初始化
  6. Haproxy群集+Nginx负载均衡+Tomcat架构搭建
  7. python psycopg2_Python和psycopg2在大数据下的多处理性能
  8. 查看maven仓库地址
  9. js中对象不支持此属性或方法
  10. ruijie交换机lacp动态_华为交换机LACP模式(动态)链路聚合配置示例