javascript自定义一个全类型读取的函数

Posted counterrr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
        }

 

以上是关于javascript自定义一个全类型读取的函数的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript之面向对象学习七(动态原型模式和寄生构造函数模式创建自定义类型)

JavaScript闭包

notepad++ 如何自定义代码补全提示,写了个xml如何插入notepad++中运用

我们可以在 javascript 中将通用对象转换为自定义对象类型吗?

我该如何解决这个问题:未捕获的类型错误:无法读取 javascript 中未定义的属性“toString”

javascript怎么让函数执行完毕再执行