
数据类型转换的核心方法
发布日期:2021-05-04 20:18:23
浏览次数:51
分类:技术文章
本文共 1119 字,大约阅读时间需要 3 分钟。
数据类型转换的核心方法
1、把其他数据类型转换为Number类型
- 特定需要转换为Number的(手动转换)
-
Number([val]) :
- 只要出现非有效数字字符,结果都是NaN
- 对象变为数字,应该先valueOf,没有原始值在toString变为字符串,最后把字符串转为数字。
- 只要出现非有效数字字符,结果都是NaN
-
parseInt/parseFloat([val])
机制:从字符串左侧第一个字符,开始查找有效字符,遇到非有效数字字符停止查找,不论后面是否还有数字字符,都不再找了,把找到的有效数字字符转为数字,如果一个都没有找到,结果就是NaN(parseFloat比他多识别一个小数点)。
-
- 隐式转换
- isNaN([val])
- 数学运算:+ 、-、*、/ 、%(特殊情况:+在出现
- 字符串的情况下不是数学运算,而是字符串拼接)
- 在 == 比较的时候,有些值需要转换为数字再进行比较
- …
2、把其他类型转换为字符串
- 特定需要转换为String的(手动转换)
- toString()
- String()
- 隐式转换(一般都是调用其toString)
- 加号运算的时候,如果某一边出现字符串,则是字符串拼接
- 把对象转为数字,需要先toString()转为字符串,再去转换为数字
- 基于alert / confirm / prompt / document.write…这些方式输出的,都是把内容转换为字符串然后在输出的
- … 3.把其他类型值转换为字符串,一般都是“直接包起来”,只有{}普通对象调取toString的调取的Object.prototype.toString,不是转为字符串,而是检测数据类型,返回的结果是"[object Object]"
3、把其他类型转换为布尔
- 基于以下方式可以把其他数据类型转换为布尔
- !:转换为布尔值后取反
- !!:转换为布尔类型
- Boolean([val])
- 隐式转换
- 在循环或者条件判断中,条件处理的结果就是布尔类型
- …
- 规则:只有“ 0 、NaN、空字符串、null ,undefined”五个值会变为布尔类型的FALSE,其余都是TRUE
- 在==比较的过程中,数据转换的规则
- 类型一样的几个特点
{}=={}; => false 、 [] ==[] ;//=> false、NaN == NaN; //=> false
对象比较的是堆内存的地址 - 类型不一样的转换规则
null == undefined ; //=>true
,但是换成===
结果是false(因为类型不一致),剩下null和undefined和其他任何类型值都不相等- 字符串
==
对象,要把对象转换为字符串 - 剩下如果
==
两边数据类型不一致,都是需要转换为数字在进行比较
- 类型一样的几个特点
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年03月14日 11时06分11秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
codeforces1307D 1900分最短路
2019-03-03
2020牛客暑期多校训练营(第九场)
2019-03-03
8皇后问题 递归 函数调用是重点
2019-03-03
1541 +1 *2 ²
2019-03-03
老鼠走迷宫
2019-03-03
ural 1627 生成树计数模板题 基尔霍夫矩阵树定理 + 行列式计算模板
2019-03-03
面试别慌!阿里专家带你从【入门+基础+进阶+项目】攻破SpringBoot
2019-03-03
【Java面试】30个 Java 集合面试必备的问题和答案
2019-03-03
干了八年的阿里面试官,给大家分享我面试时最爱问的Java面试题
2019-03-03
华为鸿蒙到底是不是安卓系统套了个壳?
2019-03-03
redis知识点学习
2019-03-03
分布式理论基础知识点入门
2019-03-03
SpringCloud之消息总线(Spring Cloud Bus)刷新配置
2019-03-03
多线程之创建线程的两种方式
2019-03-03
fragment中recyclerview的重新加载问题
2019-03-03
window程序设计(1):第一个windows程序
2019-03-03
windows程序设计(4):文本输出
2019-03-03
JZOJ7月29日提高组反思
2019-03-03
21.2.3总结
2019-03-03