关于JavaScript的类型判断方式和数据转换方式详解
对于数据类型的判断方式主要有两中在JavaScript中的内置函数可以判断分别是:typeof,使用typeof所判断出来的类型是如下的:
上述是所有JavaScript中类型的判断但是其中的null类型是有问题的,虽然输出的是object类型,但是它并不是对象,这是在JavaScript中的一个bug,所以不要记错了,如果你想在判断条件中判定是不是null你可以直接在判断条件中使用三个等于号来直接判定就可以了。
第二种判断方式是使用内置函数:instanceof
函数判断如下所示:
因为在创建函数的时候在继承条件下会使用父函数的类型,所以可以使用instanceof的方式判断它是否继承了父函数的类型。
并且我么只要创建出一个函数,函数就会自带一个prototype,这个prototype会默认指向函数的原型对象,关于prototype属性我会在后面的博客中说,这里先不用深入了解。
那么这两种判断数据类型的方式有什么异同呢?
1.instanceof可以准确地判断复杂引用数据类型,但是不能准确判断基础数据类型
2.typeof也存在弊端他虽然可以判断基础数据类型(null除外)但是在引用数据类型中,除了function类型以外,其他的无法判断。
还有一种更好的数据类型判断方法:object.prototype.toString 以下是对该判断方法的演示:
这个函数的功能就强大很多了,可以轻而易举的判断function函数的类型还可以判断document和window的类型。但是要注意使用这个方法返回的字符串统一为【object Xxx】首字母大写而使用typeof返回的是小写
下面是三种判断方法运用的例子可以自己试着打一下代码:
强制类型转换:
主要有一下几种类型:number() 、parseint()、parsefloat()、tostring、String、boolean
对于number类型的强制转换如下:
具体实践:
Boolean的类型转换:
具体实践:
下面是隐式类型转换:
==号的隐式转换:
代码实践:
+号的隐式类型转换:
代码实践:
object的隐式类型转换:
代码实践:
如果文章有问题或是想提建议或想一起学习可以加作者QQ:2029788643