今天将和大家介绍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中文网其他相关文章!