javascript自定义全局函数

// ()() 执行匿名函数  不开严格模式 this默认指向window
(function () {
    "use strict";
    var strType = function (obj, type, str) {
        if (obj === undefined) {
            return typeof obj;
        }
        if (obj === null) {
            return typeof obj;
        }
        if (type === obj.constructor && typeof obj === str) {
            return true;
        }
        return false;
    };

    var isString = function (obj) {
        return strType(obj, String, "string");
    };

    var isNumber = function (obj) {
        return strType(obj, Number, "number");
    };

    var isBoolean = function (obj) {
        return strType(obj, Boolean, "boolean");
    };

    var isArray = function (obj) {
        return strType(obj, Array, "array");
    };

    var isObject = function (obj) {
        return strType(obj, Object, "object");
    };

    var isFunction = function (obj) {
        return strType(obj, Function, "function");
    };

    var isUndefined = function (obj) {
        return strType(obj, undefined, "undefined");
    };

    var isNull = function (obj) {
        return strType(obj, null, "null");
    };
    var type = {
        $k: function () {
            return this;
        },
        isType: function () {
            return typeof obj;
        },
        isString: function (param) {
            return isString(param);
        },
        isNumber: function (param) {
            return isNumber(param);
        },
        isBoolean: function (param) {
            return isBoolean(param);
        },
        isArray: function (param) {
            return isArray(param);
        },
        isObject: function (param) {
            return isObject(param);
        },
        isFunction: function (param) {
            return isFunction(param);
        },
        isUndefined: function (param) {
            return isUndefined(param);
        },
        isNull: function (param) {
            return isNull(param);
        }
    };
    var dom = window.document;
    var query = function (selcet) {
        var first = selcet.charAt(0);
        console.log(first);
        if (first == '#') {
            return dom.getElementById(selcet);
        } else {
            return dom.querySelector(selcet);
        }
    };
    var queryList = function (select) {
        var first = selcet.charAt(0);
        if (first == '.') {
            return dom.getElementsByClassName(select);
        }

        var tags = dom.getElementsByTagName(select);
        var names = dom.getElementsByClassName(select);
        if (tags) {
            return tags;
        }
        if (names) {
            return names;
        }

    };


    var prop = {
        type: function () {
            return type;
        },
        query: function(onj){
        	var do = query(onj);
       		 if(do){
       		 	return query(onj);
       		 }
        	return queryList(onj);
        }
    };
    var factory = function (obj) {
        return prop;
    };

    window.$k = factory;
})();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值