当前位置: 首页 > news >正文

JavaScript系列从入门到精通系列第五篇:JavaScript中的强制类型转换包含强制类型转换之Number,包含强制类型转换之String

文章目录

前言

一:强制类型转换

1:强制类型转换为String

(一):方式一:调用被转换类型的toString()方法

(二):方式二:调用String函数

2:强制类型转换为Number

(一):方式一:调用Number函数

(二):方式二:这种方式专门对付字符串


前言

        JS中数据类型有6种,基本数据类型有5种。String,Number,Boolean,Null,Undifined。Object属于引用数据类型。

一:强制类型转换

        首先,我们强制类型转换的角色是,String,Number,Boolean。不会有人转换为Null和Undefined的,因为确实没啥意义。

1:强制类型转换为String

(一):方式一:调用被转换类型的toString()方法

var a = 123;
a.toString();
console.log(typeOf a);//number

        toString()不会影响值本身,需要使用他的返回值

var a = 123;
var b = a.toString();
console.log(typeOf b);//string

        这么干,也行!

var a = 123;
a = a.toString();
console.log(typeOf a);//string
//
var a = 123;
a = null;
a = a.toString() //这一行会报错
console.log(typeOf a);//object

        报错如下:

Uncaught TypeError: Cannot read properties of null (reading 'toString')at <anonymous>:1:21
(匿名) @ VM102:1

        需要注意的是,null和undefined没有toString()方法。

        也就是方式一是有局限性的,只适用于Boolean、String、Number

(二):方式二:调用String函数

        调用什么什么函数,就直接写xxxx()就完事了。被转换数据作为参数。

var a = 123;
a = String(a);
console.log(typeOf a); // String
var a = null;
a = String(a);
console.log(typeOf a); // string
console.log(a); //null
var a = undefined;
a = String(a);
console.log(typeOf a); // string
console.log(a); //undefined

        String()函数转字符串时,对于Number、Boolean实际上调用的就是toString()方法。但是对null和undefined直接转换为他俩的字符串。

2:强制类型转换为Number

        值得注意的是,没有toNumber()方法

var a = "123";
console.log(typeOf a); //string
console.log(a); //a

(一):方式一:调用Number函数

        字符串转数值,如果是纯数字字符串,可以直接转换。

var a = "123";
a = Number(a);
console.log(typeOf a); // number

        如果字符串中有非数字内容,就直接转换为NaN

        如果字符串字符串中是一个空串或者是全是空格,转换为0

a = true;
a = Number(a);
console.log(a);//1

        布尔转数字是固定的,false转0,ture转1;

a = null;
a = Number(a);
console.log(a);//0a = undefined;
a = Number(a);
console.log(a);//0

        null和undefined转数字都是0

var a = 123px;
console.log(a);//123px

(二):方式二:这种方式专门对付字符串

        parseInt()把一个字符换转换为一个整数,parseFloat()把一个字符换转换为一个浮点数

var a = "123px";
a = parseInt(a);
console.log(typeOf a);//number
console.log(a);//123

        parseInt()方法从左到右去读数字,遇到第一个不是数字的内容停止读取,并且返回前面的数字。123.456px到小数点就完事了。

        

var a = "123.456px";
a = parseFloat(a);
console.log(a);//123.456

        这个特点就是,遇到小数点.不停止,继续往下读。 值得注意的是,如果对非String类型使用parseInt()和parseFloat()会先将他转换为String在进行操作!

相关文章:

JavaScript系列从入门到精通系列第五篇:JavaScript中的强制类型转换包含强制类型转换之Number,包含强制类型转换之String

文章目录 前言 一&#xff1a;强制类型转换 1&#xff1a;强制类型转换为String (一)&#xff1a;方式一&#xff1a;调用被转换类型的toString()方法 (二)&#xff1a;方式二&#xff1a;调用String函数 2&#xff1a;强制类型转换为Number (一)&#xff1a;方式一&…...

动力节点老杜JavaWeb笔记(全)

Servlet 关于系统架构 系统架构包括什么形式? C/S架构B/S架构C/S架构? Client / Server(客户端 / 服务器)C/S架构的软件或者说系统有哪些呢? QQ(先去腾讯官网下载一个QQ软件,几十MB,然后把这个客户端软件安装上去,然后输入QQ号以及密码,登录之后,就可以和你的朋友聊…...

【微信小程序开发】宠物预约医疗项目实战-注册实现

【微信小程序开发】宠物预约医疗项目实战-注册实现 第二章 宠物预约医疗项目实战-注册实现 文章目录 【微信小程序开发】宠物预约医疗项目实战-注册实现前言一、打开项目文件二、编写wxss代码2.1 什么是wxss2.2 配置主程序全局样式 三. 在sign文件下的wxml文件中编写如下代码并…...

聚观早报 | 飞书签约韵达速递;蔚来首颗自研芯片“杨戬”量产

【聚观365】9月22日消息 飞书签约韵达速递 蔚来首颗自研芯片“杨戬”10月量产 靳玉志接任华为车 BU CEO 亚马逊发布全新Alexa语音助手 OpenAI推出图像生成器DALL-E 3 飞书签约韵达速递 近日&#xff0c;国内物流服务公司韵达快递宣布全员上飞书。飞书解决方案副总裁何斌表…...

zookeeper + kafka

Zookeeper 概述 Zookeeper是一个开源的分布式服务管理框架。存储业务服务节点元数据及状态信息&#xff0c;并负责通知再 ZooKeeper 上注册的服务几点状态给客户端 Zookeeper 工作机制 Zookeeper从设计模式角度来理解: 是一个基于观察者模式设计的分布式服务管理框架&…...

wordpress添加评论过滤器

给wordpress添加评论过滤器&#xff0c;如果用户留言包含 "http" (可以为任意字符串) 就禁止提交评论。 function filter_comment_content($comment_data) {$comment_contents $comment_data["comment_content"]; //获取评论表单的内容字段if (stripos($…...

工具篇 | Gradle入门与使用指南

介绍 1.1 什么是Gradle&#xff1f; Gradle是一个开源构建自动化工具&#xff0c;专为大型项目设计。它基于DSL&#xff08;领域特定语言&#xff09;编写&#xff0c;该语言是用Groovy编写的&#xff0c;使得构建脚本更加简洁和强大。Gradle不仅可以构建Java应用程序&#x…...

Wireshark TS | MQ 传输缓慢问题

问题背景 应用传输慢是一种比较常见的问题&#xff0c;慢在哪&#xff0c;为什么慢&#xff0c;有时候光从网络数据包分析方面很难回答的一清二楚&#xff0c;毕竟不同的技术方向专业性太强&#xff0c;全栈大佬只能仰望&#xff0c;而我们能做到的是在专注于自身的专业方向之…...

flink集群与资源@k8s源码分析-回顾

本章是分析系列最后一章,作为回顾,以运行架构图串联起所有分析场景 1 启动集群,部署集群(提交k8s),新建作业管理器组件 2 构建和启动flink master组件 3 提交作业,N/A...

学习心得09:C++新特性

现在语言越来越复杂&#xff0c;关键字也越来越多。所以我提出了关键字自动加标识的想法。 这些新特性也都是有用的&#xff0c;一般人也用不上。在这方面&#xff0c;我的主张是&#xff1a;除非你确实需要用到新特性&#xff0c;否则尽量不要用。保证了代码的可维护。 C很复杂…...

前端框架vBean admin

文章目录 引言I 数据库表设计1.1 用户表1.2 角色表1.3 菜单表II 接口引言 文档:https://doc.vvbin.cn/guide/introduction.html http://doc.vvbin.cn 仓库:https://github.com/vbenjs/vue-vben-admin git clone https://github.com/vbenjs/vue-vben-admin-doc 在线体验demo:…...

云原生周刊:Grafana Beyla 发布 | 2023.9.18

开源项目推荐 Komiser Komiser 是一个与云无关的开源资源管理器。它与多个云提供商&#xff08;包括 AWS、Azure、Civo、Digital Ocean、OCI、Linode、腾讯和 Scaleway&#xff09;集成&#xff0c;构建云资产库存&#xff0c;并帮助您在资源层面分解成本。 kr8s 这是一个用…...

C++ std::unique_lock 用法

文章目录 1.创建 std::unique_lock 对象2.自动加锁和解锁3.延迟加锁与手动加解锁4.尝试加锁5.配合条件变量使用6.小结参考文献 std::unique_lock 是 C11 提供的一个用于管理互斥锁的类&#xff0c;它提供了更灵活的锁管理功能&#xff0c;适用于各种多线程场景。 1.创建 std::u…...

Pytorch C++ 前端第二部分:输入、权重和偏差

本教程分为两部分 第 2.1 部分 – 基础知识速成课程。第 2.2 部分 – 使用 C++ 构建神经网络如果您已经了解神经网络的基础知识,那么无需阅读 Part-2.1 的内容,理解 Part-2.2 应该没有问题。我们试图通过动画 GIF 来可视化方程,从而使其简短而有趣。但请注意,我们根据在解释…...

面试题:RocketMQ 如何保证消息不丢失,如何保证消息不被重复消费?

文章目录 1、消息整体处理过程Producer发送消息阶段手段一&#xff1a;提供SYNC的发送消息方式&#xff0c;等待broker处理结果。手段二&#xff1a;发送消息如果失败或者超时&#xff0c;则重新发送。手段三&#xff1a;broker提供多master模式&#xff0c;即使某台broker宕机…...

uniapp打包安卓后在安卓屏上实现开机自启动

实现开机自启动(使用插件) 打开插件地址安卓开机自启动 Fvv-AutoStart - DCloud 插件市场 使用方法 选择你要开启自启动的项目 在项目的manifest.json中app-plus下写入以下代码 注意需要替换 android_package_name 为自己的,不然无法进行安卓apk打包 "nativePlugins&q…...

浅谈KNX总线智能照明控制系统在北京南站房中的应用

安科瑞 华楠 摘要&#xff1a;本文简要介绍了i-bus EIB/KNX智能建筑控制系统的基本原理及在北京南站房中的成功应用。阐述了这一系统强大的系统功能、灵活的控制方式节能效果。 关键词&#xff1a;i-bus智能建筑控制&#xff1b;控制系统&#xff1b;节能 1、工程概况 北京新…...

深入了解Java的核心库

掌握Java的核心库是成为一名优秀的Java开发者的关键。Java提供了丰富的核心库和API&#xff0c;包括集合框架、输入输出、多线程、异常处理等等。熟悉并掌握这些库的使用&#xff0c;可以提高编程效率和代码质量。在本文中&#xff0c;我们将深入讨论Java的核心库&#xff0c;并…...

嵌入式:驱动开发 Day9

作业&#xff1a;通过platform总线驱动实现 a.应用程序通过阻塞的io模型来读取number变量的值 b.number是内核驱动中的一个变量 c.number的值随着按键按下而改变&#xff08;按键中断&#xff09; 例如number0 按下按键number1 ,再次按下按键number0 d.在按下按键的时候需要同时…...

【ComfyUI】安装 之 window版

文章目录 序言步骤下载comfyUI配置大模型和vae下载依赖组件启动 生成图片解决办法 序言 由于stable diffusion web ui无法做到对流程进行控制&#xff0c;只是点击个生成按钮后&#xff0c;一切都交给AI来处理。但是用于生产生活是需要精细化对各个流程都要进行控制的。 故也…...

iMazing 2 .17.9最新官方中文版免费下载安装激活

iMazing 2 .17.9最新版是一款帮助用户管理IOS手机的应用程序&#xff0c;iMazing2最新版能力远超iTunes提供的终极的iOS设备管理器。IMazing与你的iOS设备(iPhone、 iPad或iPod)相连&#xff0c;使用起来非常的方便。作为苹果指定的iOS设备同步工具。 mazing什么意思 iMazing…...

Postman应用——Pre-request Script和Test Script脚本介绍

文章目录 Pre-request Script所在位置CollectionFolderRequest Test Script所在位置CollectionFolderRequest Pre-request Script&#xff08;前置脚本&#xff09;&#xff1a;可以使用在Collection、Folder和Request中&#xff0c;并在Request请求之前执行&#xff0c;可用于…...

vue2中年份季度选择器(需要安装element)

调用 <!--父组件调用--><QuarterCom v-model"quart" clearable default-current/> 组件代码 <template><div><span style"margin-right: 10px">{{ label }}</span><markstyle"position:fixed;top:0;bottom:0…...

QT day5

数据库完成登入注册 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include<QDebug> #include<QPushButton> #include<QLineEdit> #include<QLabel> #include <QMainWindow> #include<QMessageBo…...

设计模式Java实战

文章目录 一、前置1.1 目的1.2 面向对象1.3 接口和抽象类 二、七大设计原则2.1 单一职责2.2 接口隔离原则2.3 依赖倒转原则2.4 里氏替换原则2.5 开闭原则2.6 不要重复原则2.7 迪米特最少知道法则 三、23种设计模式3.1创建型&#xff1a;创建对象3.1.1 单例模式定义最佳实践场景…...

外国固定资产管理系统功能有哪些

很多公司都在寻找提高自己资产管理效益的方法。为了满足这一要求&#xff0c;国外的固定资产管理系统已经发展成多种形式。以下是国外一些常见的固定资产管理系统的特点:自动化和智能化:许多现代固定资产管理系统采用自动化和数字化技术&#xff0c;以简化流程&#xff0c;减少…...

Postman应用——控制台调试

当你在测试脚本中遇到错误或意外行为时&#xff0c;Postman控制台可以帮助你识别&#xff0c;通过将console.log调试语句与你的测试断言相结合&#xff0c;你可以检查http请求和响应的内容&#xff0c;以及变量之类的。 通常可以使用控制台日志来标记代码执行&#xff0c;有时…...

如何制作思维导图?

思维导图是一种非常有用的工具&#xff0c;可以被广泛应用于不同领域的人群。以下是一些常见的使用人群&#xff1a;学生、教育工作人员、各领域的专业人员&#xff0c;法律、商业、医学等等&#xff0c;创作者、艺术家、个人自我成长管理。 由此可见&#xff0c;思维导图可以做…...

【力扣每日一题】2023.9.21 收集树中金币

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一棵树&#xff0c;不过这棵树不是普通的树&#xff0c;而是无向无根树。给我们一个二维数组表示节点之间的连接关系&#xff…...

Python与数据分析--每天绘制Matplotlib库实例图片3张-第1天

目录 1.实例1--Bar color demo 2.实例2--Bar Label Demo 3.实例3--Grouped bar chart with labels 1.实例1--Bar color demo import matplotlib.pyplot as plt # 支持中文 plt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 plt.rcParams[axes.unicode_minus…...

湖州企业网站开发公司/站长之家域名查询排行

PHPCMS编辑器增加常用中文字体方法phpcms 20191、打开\fckeditor\fckconfig.js2、查找 FCKConfig.FontNames 省略……替换为以下代码&#xff1a;FCKConfig.FontNames \u65b9\u6b63\u8212\u4f53;\u65b9\u6b63\u59da\u4f53;\u534e\u6587\u7ec6\u9ed1;\u534e\u6587\u65b0\u9b4f;…...

杭州的网站建设公司哪家好/网络营销的目标

近些年来&#xff0c;随着智能手机技术的不断进步&#xff0c;手机的解锁方式也是越来越五花八门&#xff0c;从最早的密码解锁、画图解锁到后来的指纹解锁、人脸识别解锁、到最先进的虹膜解锁&#xff0c;随着解锁方式的增多&#xff0c;智能手机的安全性也大幅提升。 但&…...

网站开发西安中软/百度收录批量查询工具

Briefly unavailable for scheduled maintenance. Check back in a minute. How to Fix “Briefly Unavailable for Scheduled Maintenance. Check Back in a Minute” in WordPress 问题描述&#xff1a;在安装插件、主题升级时&#xff0c;如果刷新页面或者操作失败&#xff…...

有了域名就可以做网站了吗/职业技能培训有哪些

1.spring运行期例外(unchecked Exception)事务可以回滚,用户例外(checked Exception,即try...catch...finally块)事务不回滚;2.若要checked Exception回滚,在需要回滚的方法前添加注解:Transactional(rollbackForException.class)3.要unchecked Exception不回滚,在需要回滚的方…...

福州网站设计费用/鄂州seo

PYPI 国内源 搬砖自http://www.cnblogs.com/sunnydou/p/5801760.html 阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) http://pypi.douban.com/simple/ 清华大学 https://pypi.tuna.tsinghua.edu.cn/simpl…...

wordpress 代码质量/培训体系包括四大体系

一、业务需求&#xff1a; 将几百张excel表的业务数据抽取到mysql数据库中 二、系统环境 kettle8.3 mysql5.7.29 三、遇到的问题 excel表的中文抽取到mysql数据库&#xff0c;显示乱码...