当前位置: 首页 > 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在进行操作!

http://www.lryc.cn/news/172441.html

相关文章:

  • 动力节点老杜JavaWeb笔记(全)
  • 【微信小程序开发】宠物预约医疗项目实战-注册实现
  • 聚观早报 | 飞书签约韵达速递;蔚来首颗自研芯片“杨戬”量产
  • zookeeper + kafka
  • wordpress添加评论过滤器
  • 工具篇 | Gradle入门与使用指南
  • Wireshark TS | MQ 传输缓慢问题
  • flink集群与资源@k8s源码分析-回顾
  • 学习心得09:C++新特性
  • 前端框架vBean admin
  • 云原生周刊:Grafana Beyla 发布 | 2023.9.18
  • C++ std::unique_lock 用法
  • Pytorch C++ 前端第二部分:输入、权重和偏差
  • 面试题:RocketMQ 如何保证消息不丢失,如何保证消息不被重复消费?
  • uniapp打包安卓后在安卓屏上实现开机自启动
  • 浅谈KNX总线智能照明控制系统在北京南站房中的应用
  • 深入了解Java的核心库
  • 嵌入式:驱动开发 Day9
  • 【ComfyUI】安装 之 window版
  • iMazing 2 .17.9最新官方中文版免费下载安装激活
  • Postman应用——Pre-request Script和Test Script脚本介绍
  • vue2中年份季度选择器(需要安装element)
  • QT day5
  • 设计模式Java实战
  • 外国固定资产管理系统功能有哪些
  • Postman应用——控制台调试
  • 如何制作思维导图?
  • 【力扣每日一题】2023.9.21 收集树中金币
  • Python与数据分析--每天绘制Matplotlib库实例图片3张-第1天
  • pycharm 中package, directory, sources root, resources root的区别