JavaScript中的类型转换

1、隐式类型转换
①== 如果相等操作的两个变量不是同一类型,那么相等运算符会尝试进行一些类型转换:
- 如果一个是null,一个是undefined,则他们相等;
- 如果一个值是数字,另一个是字符串,先将字符串转换为数字,然后使用转换后的值进行比较;
- 如果一个是再比较,如果其中一个是false,则将其转换为0再比较;
- 如果一个值是对象,另一个值是数字或字符串,则将对象转换为原始值,再进行比较。对象通过toString()或者valueOf()方法转为原始值。JS语言核心的内置类首先尝试使用valueOf(),再尝试使用toString(),除了日期类,日期类只使用toString()转换。
- 其他不同类型的比较均不相等。
②< > <= >= 比较运算符。操作数可以是任何类型,但是只有数字和字符串才能真正执行比较操作。
- 如果操作数是对象,那么对象先转换为原始值:如果valueOf()返回一个原始值,那么直接使用这个原始值。否则使用toString()转换;
- 对象转换为原始值之后,如果两个操作数都是字符串,那么按照字符串比较;
- 对象转换为原始值后,如果至少有一个操作数不是字符串,那么两个都转换为数字进行比较。如果其中一个是NaN,那么结果是false。
③- 减操作符将两个操作数都转换为数字。
④+ 加操作符,如果一个操作数是字符串,那么另外一个操作数也会转换为字符串。一元加会将其操作数转换为数字。
⑤! 转换为布尔值并取反。!!x等价于Boolean(x).
2、显式类型转换
①使用Boolean()/Number()/String()/Object()函数。除了null和undefined的任何值都具有toString()方法,这个方法的执行结果通常和String()方法的返回结果一致。
②数字转字符串
- toString()方法,可接受参数,比较转成几进制。
- toFixed(),参数表示保留几位小数。
- toExponential(),参数表示保留几位小数点。
- toPrecision(),参数表示有效数字位数。
③字符串转数字
- parseInt()函数
- parseFloat()函数,都是全局函数,不是任何类的方法。
④对象转为原始值
- toString()方法。
- 数组类将每个元素转换为一个字符串,并在元素之间添加逗号合成字符串;
- 函数类返回这个函数的实现定义的表示方式。
- 日期类返回一个可读的日期和时间字符串。
- RegExp类转换为直接字面量。
- valueOf()方法。如果对象存在任意原始值,他将默认将对象转换为表示它的原始值。但是对象是复合值,多数情况下valueOf()返回对象本身。
- 对象到字符串的转换先使用toString()方法,对象到数字的转换先使用valueOf()方法。
JavaScript中的类型转换的更多相关文章
- JavaScript中数据类型转换总结
JavaScript中数据类型转换总结 在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = " ...
- JavaScript中的类型转换(二)
说明: 本篇主要讨论JavaScript中各运算符对运算数进行的类型转换的影响,本文中所提到的对象类型仅指JavaScript预定义的类型和程序员自己实现的对象,不包括宿主环境定义的特殊对象(比如浏览 ...
- JavaScript中的类型转换(一)
前言 JavaScript是一种非常灵活的弱类型的语言,它的灵活性的一方面体现在其繁杂多样的类型转换.比如当JavaScript期望使用一个布尔值的时候(比如if语句中)你可以提供任一类型的值,Jav ...
- [翻译]解释JavaScript中的类型转换
原文地址:JavaScript type coercion explained 类型转换是将值从一种类型转换为另一种类型的过程(比如字符串转换为数值,对象转换为布尔值,等等).任何类型,无论是原始类型 ...
- javascript中强制类型转换
javascript开发过程中,强制类型转换一般发生在条件判断和==运算符.其他情况,发生的类型转换(与这两种情况也是基本类似,属于万变不离其宗的范畴),暂不讨论. == 双等运算符 考虑代码: a ...
- javascript中的类型转换,宽松相等于严格相等
为了将值转换为基本类型值(string,number,boolean,null,undefined),抽象操作ToPrimitive会首先检查该值有没有valueOf()方法,如果有并且返回基本类型值 ...
- 【你不知道的javaScript 中卷 笔记2】javaScript中的类型转换
1.1 对象内部属性 [[Class]] 常见的原生函数: String() Number() Boolean() Array() Object() Function() RegExp() Date( ...
- javascript中数据类型转换
转换为数字: parseInt():转换为整数型数值:从下标0开始判断,若为数值型则继续直到遇到非数值,返回前面的整数值: 小数点无效,若0开始为非数值则返回NaN: 转换空字符串会返回NaN: 能转 ...
- javascript中的类型转换(进制转换|位运算)
1:parseInt(string) : 这个函数的功能是从string的开头开始解析,返回一个整数 parseInt("123hua"); //输出 123 parseInt(& ...
- js | JavaScript中数据类型转换总结
转载 在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = “123”; a = Number(a); ...
随机推荐
- 【夯实PHP基础】php开发时遇到白页的调试方法
本文地址 分享提纲: 1. 设置报错报错级别,显示报错 2. 白页的可能原因 1.[设置报错报错级别,显示报错] php开发时,访问地址也对,但就是不出来页面,显示的是 白的页面,所以就可 ...
- 利用Java动态生成 PDF 文档
利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...
- jquery css3问卷答题卡翻页动画效果
这个选项调查的特效以选项卡的形式,每答完一道题目自动切换到下一条,颇具特色.使用jQuery和CSS3,适合HTML5浏览器. 效果展示 http://hovertree.com/texiao/jqu ...
- transformjs玩转星球
如你所见.这篇就是要讲下使用transformjs制作星球的过程.你也可以无视文章,直接去看源码和在线演示: 源码 | 在线演示 代码100行多一点,直接看也没有什么压力.下面分几步讲解下. 生成球上 ...
- RecyclerView 的介绍以及多布局的实例
RecyclerView 的使用以及多布局的实例 RecyclerView 是在Android5.0之后推出的,是一个比ListView更加灵活更加高效的适配器类型控件.但是RecyclerView不 ...
- swift学习笔记1——基础部分
之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...
- web移动端开发技巧与注意事项汇总
一.meta的使用 1.<meta name="viewport" content="width=device-width,initial-scale=1.0, m ...
- IDEA 中scala 程序运行时的错误:报错 test is already defined as object test
解决办法:在 创建main文件夹和scala文件夹的时候,注意src与这两个文件夹不能同时设置为resources,否则就会产生报错,解决办法将src文件夹的resources取消,右键.
- lnmp 预设iptables设置
「LNMP」iptables初始配置 首先使用命令iptables -P INPUT ACCEPT允许所有连接,否则容易把自己关在外边.然后使用iptables -F;iptables -X;ip ...
- sipex3232上电发送输入端拉低问题
之前没怎么注意,在使用下载盒通过isp下载stm32时,由于是通过stm32板子给下载盒供电,所以是我的stm32板子和下载盒同时上电.这样总是不能够进入下载模式,后来对下载盒进行仿真,发现在下载发送 ...