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

JavaScript的学习之强制类型转换

目录

一、什么是强制类型转换

二、其他类型转化为String类型

方式一:调用被转化数据类型的toString()方法

方式二:调用String函数,并将我们要转换的数据添加进去为参数

 三、其他类型转化为Number类型

方式一:使用Number()函数

方式二:parseInt()和parseFloat()函数

四、其他类型转化为Boolean类型

 使用Boolean()函数


一、什么是强制类型转换

指的是将一个数据转化成其他数据类型,主要是转化为String、Boolean、Number

二、其他类型转化为String类型

方式一:调用被转化数据类型的toString()方法

注意:null和undefined没有toString()方法

<script>var a = 123;var b = true;var c = null;var d = undefined;a = toString(a);b = toString(b);c = toString(c);d = toString(d);console.log(typeof a);console.log(typeof b);console.log(typeof c);console.log(typeof d);		console.log(c);console.log(d);		
</script>

方式二:调用String函数,并将我们要转换的数据添加进去为参数

对于Number和Boolean实际上就是调用了toString()方法

而对于null和undefined是直接将他们转换位"null"和"undefined"

<script>var a = 123;var b = true;var c = null;var d = undefined;a = String(a);b = String(b);c = String(c);d = String(d);console.log(typeof a);console.log(typeof b);console.log(typeof c);console.log(typeof d);		console.log(c);console.log(d);		
</script>

 三、其他类型转化为Number类型

方式一:使用Number()函数

转化字符串:

        1.内容是纯数字就直接转化为数字

        2.内容是非数字则转化为NaN

        3.内容为空或者空格则转化为0

转化布尔值:

        1.true为1,false为0

转化Null:

        1.null为0

转化Undefined:

        1.undefined为NaN

<script>var a = 123;var b = true;var c = null;var d = undefined;a = Number(a);b = Number(b);c = Number(c);d = Number(d);console.log(typeof a);console.log(typeof b);console.log(typeof c);console.log(typeof d);console.log(c);console.log(d);
</script>

方式二:parseInt()和parseFloat()函数

为了解决字符串的转换,由于方式一存在局限性

例如:要将123px转化为Number类型就不可以

<script>var a = "123px";var a1 = "123.4px"a = parseInt(a);a1 = parseInt(a1);console.log(typeof a);console.log(typeof a1);console.log(a);console.log(a1);
</script>

<script>var a = "123px";var a1 = "123.4px"a = parseFloat(a);a1 = parseFloat(a1);console.log(typeof a);console.log(typeof a1);console.log(a);console.log(a1);
</script>

四、其他类型转化为Boolean类型

 使用Boolean()函数

1.数字转换,除了0和NaN,其余都是true

2.字符串转换,除了空串,其余都是true

3.null和defined都会转化为false

4.对象也会转化为true

<script>var a = 123var a1 = 0var a2 = NaNa = Boolean(a)a1 = Boolean(a1)a2 = Boolean(a2)console.log(a)console.log(a1)console.log(a2)
</script>

上一节的学习请参考下面连接:

JavaScript的学习之旅之基本数据类型

  这章关于JS的数据类型转换大致就学到这了,感谢关注!!!

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

相关文章:

  • 天润融通:AI赋能客户体验,推动企业收入和业绩增长
  • Android与服务器交互的方式中的对称加密和非对称加密(kotlin)
  • epoch和batch的区别
  • 非递归创建二叉查找树
  • 摄影师危!AI绘画即将降维打击摄影行业
  • ts 中class
  • 深度解析RocketMq源码-高可用存储组件(四)Dledger框架日志同步流程
  • ONLYOFFICE 文档开发者版 8.1:API 更新
  • Activemq单节点在Windows下的配置部署
  • SpringBoot-注解@ImportResource引入自定义spring的配置xml文件和配置类
  • GitLab配置免密登录之后仍然需要Git登录的解决办法
  • 探索小众爱好:打造个人韧性与特色之路
  • GitHub使用教程(小白版)
  • 深度解析SD-WAN在企业组网中的应用场景
  • 【INTEL(ALTERA)】Eclipse Nios II SBT 无法从模板创建新应用程序和 BSP
  • Vue_cli搭建过程项目创建
  • 面试题4:POST 比 GET 安全?
  • Github生成Personal access tokens及在git中使用
  • 【BUG记录】条件查询没有查询结果 || MybatisPlus打印查询语句
  • 【C#】找不到属性集方法。get只读属性用了反射设置setValue肯定报错
  • 探索ChatGPT在程序员日常工作的多种应用
  • 算法与数据结构——时间复杂度详解与示例(C#,C++)
  • 面试题3:GET 和 POST 有什么区别?
  • 探索QCS6490目标检测AI应用开发(三):模型推理
  • C# 静态类中构造、字段和属性等的执行顺序,含有单例模式分析
  • c++设计模式之一创建型模式
  • 上古世纪台服注册账号+下载客户端全方位图文教程
  • 【Android】Android中继承Activity、Application和AppCompatActivity的区别
  • SQLite 可以随可执行文件部署在用户机器吗
  • 大模型的开源不同于传统的开源软件