JS的运算符以及某些内置函数,会自动进行数据类型的转换,方便计算,即隐式转换数据类型;

但是很多时候,我们希望可以手动控制数据类型的转换,即显示转换数据类型;

转换为字符串

String()函数

使用String(value)函数,将value转换为字符串类型;

toString()方法

也可以调用自带的toString()方法,转换为字符串类型;

但是,注意:

  • null和undefined没有toString()方法,调用会报错,此时只能用String()函数来转为字符串;

  • 无论是String()函数,还是toString方法;无论传入的是基础数据类型,还是对象,在调用他们的时候,都不会改变原本的变量的数据类型,而是新开辟一个内存,将原本的变量的值,转换为字符串类型以后再存储进新开的内存里,然后返回这个新开的内存的地址;

    所以我们需要用变量去接收这个返回值,如下图所示:

转换为数值

Number()函数

使用Number(value)函数,将value转换为数值类型;

非数值转换为数字的转换规则如下:

  • null = 0
  • undefined = NaN
  • true = 1
  • false = 0
  • 字符串:先去掉首尾空白字符(空格,换行符,制表符等),然后
    • 空串 = 0
    • 数字字符串转为数字,如"1234" = 1234
    • 含非数字的字符串,转为NaN,如"1234hello" = NaN

parseInt()函数 与 parseFloat()函数

还有两个专门针对字符串转换为数字的函数,parseInt()parseFloat()

  • 顾名思义,parseInt()解析为整数,parseFloat()解析为浮点数;

  • 注意,他们传入的参数必须是字符串或者数字,除此以外的其他数据类型,都会返回NaN;

  • parseInt()为例,来说明一下他们解析字符串的顺序:

    • 先去掉首尾空白字符
    • 再按照顺序依次读取每一个字符
    • 读到非数字字符,直接返回NaN;否则读完,返回数字,如下图所示:

转换为布尔值

Boolean()函数

使用Boolean(value)函数,将value转换为布尔值;

转换为布尔值的转换规则如下:

  • 表示”无“的概念的值,都转换为false,具体有:0、空字符串、null、undefined、NaN

  • 除此以外的其他值,都转换为true

JavaScript:显式转换数据类型:如何转换为数值、字符串和布尔值类型?的更多相关文章

  1. 上篇:python的基本数据类型以及对应的常用方法(数字、字符串、布尔值)

    为了日后便于查询,本文所涉及到的必记的基本字符串方法如下: "分隔符".join(字符串)    #将字符串的每一个元素按照指定分隔符进行拼接.split("字符串&qu ...

  2. python学习3—数据类型之整型、字符串和布尔值

    python学习3-数据类型之整型.字符串和布尔值 数据类型 python3支持的数据类型共有6种: 1 Number 2 String 3 List 4 Tuple 5 Set 6 Dictiona ...

  3. JS规则 多样化的我(变量赋值)我们使用"="号给变量存储内容,你可以把任何东西存储在变量里,如数值、字符串、布尔值等,

    多样化的我(变量赋值) 我们可以把变量看做一个盒子,盒子用来存放物品,那如何在变量中存储内容呢? 我们使用"="号给变量存储内容,看下面的语句: var mynum = 5 ; / ...

  4. python基础(数字、字符串、布尔值、字典数据类型简介)

    一 执行第一个python程序 1.下载安装python2.7和python3.6的版本及pycharm,我们可以再解释器中输入这样一行代码: 则相应的就打出了一句话.这里的print是打印的意思.你 ...

  5. Python基础数据类型(数字、字符串、布尔、列表、元组、字典、集合等)

    数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定 ...

  6. 基础数据类型:整型int、布尔值bool、字符串str、与for循环

    1.整型 int() p2 long 长整型 p3 全部都是整型 2.布尔值 bool() True --- int() int(True) int() --- True bool(int) 注意点: ...

  7. Python的基本数据数字、字符串、布尔值及其魔法

    基本数据类型介绍 若要把Pyhton的基本数据类型:数字(int).字符串(str).布尔(bool).列表(list).元组(tuple).字典(dict)都分为一个个不同的角色 如:战士,魔法师, ...

  8. js-数字、字符串、布尔值的转换方式

    来自JavaScript秘密花园 1.转换为字符串 '' + 10 === '10'; // true 将一个值加上空字符串可以轻松转换为字符串类型. 2.字符串转换为数字 +'010' === 10 ...

  9. javascript 强制转换规则 boolean 布尔值类型

    摘自 <你不知道的Javascript(中卷)> p55 一句话简述, 假值表以外的值均可以认为是真值,部分浏览器可能自定义了假值表以外的假值,并不符合W3C规范,需要特殊对待. 首先也是 ...

  10. Swift的字符串String是值类型

    根据<The Swift Programming Language>中文版基于Xcode6.1的文章描述: Swift的 String 类型是值类型.如果创建了新的字符串,那么当其进行常量 ...

随机推荐

  1. SpringBoot 项目部署 (配置文件分离)

    1. SpringBoot 配置文件加载 SpringBoot 加载配置文件的优先级如下: 当前目录下的config 子目录: 当前目录: classpath下的config文件夹: classpat ...

  2. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(26)-Fiddler如何抓取Android7.0以上的Https包-上篇

    1.简介 众所周知,假如设备是android 7.0+的系统同时应用设置targetSdkVersion >= 24的话,那么应用默认是不信任安装的Fiddler用户证书的,所以你就没法抓到应用 ...

  3. PHP全栈开发(二):MYSQL学习

    昨天进行了CentOS 7 下面的 LAMP搭建 今天学习一下MySQL的一些入门级操作 主要参考PHP中文网的"MySQL最新手册教程" http://www.php.cn/my ...

  4. 洛谷P2168 [NOI2015] 荷马史诗 (哈夫曼树)

    学了哈夫曼树这道题还是好想的,基本上和构造哈夫曼树的思路一样,但是题目要求最长si的最小值,所以用两个关键字的堆,第一关键字是把出现次数作为权值,第二关键字表示从该节点开始的最长长度,权值相同时,选择 ...

  5. BGCN Rec:模型结构概述

    简单论述 BGCN将user-item interaction,user-bundle interaction和bundle-item affiliation 关联到统一的异构图中.以项目节点为桥梁, ...

  6. P1886 滑动窗口 /【模板】单调队列 方法记录

    原题链接 滑动窗口 /[模板]单调队列 题目描述 有一个长为 \(n\) 的序列 \(a\),以及一个大小为 \(k\) 的窗口.现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最 ...

  7. prometheus监控实战

    第一节.环境和软件版本 1.1.操作系统环境 主机ip 操作系统 部署软件 备注 192.168.10.10 Centos7.9 Grafana.Pushgateway.Blackbox Export ...

  8. Day3 最短路 最小生成树 拓扑排序

    Day3 最短路 最小生成树 拓扑排序 (一)最短路 一.多源最短路 从任意点出发到任意点的最短路 1. Floyd \(O(n^3)\) for(int k=1;k<=n;k++) for(i ...

  9. F118校准(一)-- 安装CA310驱动程序及SDK

    1. 准备工作 下载Ca310_drv.zip文件并解压,备用. http://www.xk-image.com/download/blog/0001_F118校准/Ca310_drv.zip 准备好 ...

  10. 一、什么是celery

    一.什么是Celery 1.1.celery是什么 celery是一个简单.灵活且可靠的,处理大量消息的分布式系统,专注于是心爱处理的异步任务队列,同事也支持任务调度. Celery的架构由三部分组成 ...