javascript自定义一个全类型读取的函数
我爱撸码,撸码使我感到快乐!
大家好,我是Counter。
因为我们知道,在JavaScript中有自带的方法可以读取类型,但是不很全面,今天来分享下如何自己定义一个函数,将所有传入参数的类型给打印出来,比较简单,那这边也是老样子基本每行代码都有注释,那么直接上代码把:
// 自定义全类型读取 function func(type) { // 如果是普通类型的就直接返回 (number, string, boolean) var typename = typeof(type); // typeof判断不全面,如果判断window下的对象只会返回object不会返回具体的数组类型的对象还是其他什么类型的对象,如果等于object对象的话 if ( typename == "object") { // 那么我们可以用这个方法来知道具体对象的类型 typename = Object.prototype.toString.call(type); // Object.prototype.toString.call()这个方法也是有局限性,它不能返回具体我们自己构造的函数 if ( typename == "[object Object]") { // 这个时候可以使用这个constructor.name将这个具体我们自己定义的构造函数,名字给提取出来 typename = "[object " + type.constructor.name + "]"; } // 那这边我们希望具体输入null的时候,也给我们返回具体的null值 if ( typename == "[object Null]") { typename = null; } } return typename; }