在JavaScript中隐形类型转换是什么

清浅
清浅 原创
2018-11-26 09:11:44 2980浏览

今天将和大家介绍JavaScript中隐式转换的知识,希望对大家学习JavaScript有所帮助。

Javascript中的隐式类型转换是内部隐式调用显示的方法,是将不需要的值类型转换为想要的类型。比如你传递的是一个字符串,但是你想要一个数字或者对象,隐式类型转换就会将它转换为正确的类型,而且这是系统内部转换,所以即使转换了我们也不知道

(1)数值表达式中的非数字值

数字的转换过程类似于Number在值上调用内置函数,也就是任何只包含数字字符的字符串都将转换为它的等价数字,但是返回值包含非数字字符的字符串返回的就是NaN

例:将字符串转换为数字,但里面不包含纯数字的话就会返回NaN

Number("1") // 1
Number("1+1") // NaN
Number("1a") // NaN
Number("text") // NaN

(2)+运算符的情况

+符号运算有两种功能,一种是表示数字加法 ,另外一种是字符串之间的连接

例:当数字与数字相加时表示数学加法,当数字与字符串相加时表示连接

1 + "2" // "12"
1 + "js" // "1js"
1 + 2 // 3

(3)对象

在Javascript对象转换中大多数情况下会导致[object Object]

例:一个字符串与一个对象相加

"obj" + {} // "obj[object Object]"

注意:在程序中每个javascript对象都会继承一个toString方法,只要将对象转换为字符串,就会调用该方法

(4)数组对象

通过调用join且没有任何参数的数组方法时,当需要字符串的数组,Javascript将toString方法的返回值与第二个操作数连接起来。如果需要数字,就会尝试将返回值转换为数字。

[1,2,3].toString() // "1,2,3"
[1,2,3].join() // "1,2,3"
4 + [1,2,3] // "41,2,3"
4 * [1,2,3] // NaN

总结:以上就是有关JavaScript中隐式类型的转换,希望通过本篇文章可以让大家对隐式类型转换有所了解。


以上就是在JavaScript中隐形类型转换是什么的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。