第一题-数据类型检测
这是检测输入数据类型的题目,考法在于掌握对数据类型的检测。
看到了很多题解是使用typeof和instanceof 来进行检测。因为这种关键字的检测类型个数都有限。
因此需要结合起来。并使用else-if语句进行匹配对应return。
十几行代码,或许有点麻烦?
因此,在查询资料后,找到了一个更加全面的关键语句进行检测
Object.prototype.toString.call()
为什么说他便捷呢?我们看看效果:
需补充代码部分:
function getType(data) { // TODO:待补充代码 return
Object.prototype.toString.call(data) }
结果:
相比于使用typeof和instanceof进行if-else比较,这简直大大节省了我们书写的时间。
可是题目要求的效果是只有数据的类型,而这里多了一个[ ]和object;
在CSDN查找资料后发现,可以使用slicet提取结果里的数据
Sllice(a,b)
我们并不陌生,在python,java,js都能看到他;
a ——索引的起始位置;
b —— 结束的位置;
因此我们加入他,再来看看效果:
function getType(data) { // TODO:待补充代码 return
Object.prototype.toString.call(data).slice(8,-1) }
结果: