zoukankan      html  css  js  c++  java
  • js中use或者using方法

    看Vue.use方法,想起了以前工作中别人用过的use方法。

    var YANMethod = {
        using:function() {
            var a = arguments, o = this, i = 0, j, d, arg, isExist;
            arg = a[0], isExist = a[1];
            if (arg && arg.indexOf('.')) {
                d = arg.split('.');
                for (j = (d[0] == 'YAN') ? 1 : 0; j < d.length; j++) {
                    if(!o[d[j]] && isExist) return null;
                    o[d[j]] = o[d[j]] || {};
                    o = o[d[j]];
                }
            } else {
                o[arg] = o[arg] || {};
            }
            return o;
        },
        /*--
            用新Cookie方法,但是兼容老的东西
            -ver 2014-04-22
        */
        cookie:function(name, value, options) {
            if(typeof value==='undefined'){
                return Cookie.get(name);
            }
            if(options){
                options.exp = typeof options.expires==='number' ? options.expires * 24 :
                    options.expires; //原来的cookie是按天算的
            }
            Cookie.set(name, value, options);
        },
        
        /**
         *JSON序列化,如果传入的是字符串则反序列化为对象;若传入的是对象则反序列化为字符串
         */
        json:function(value){
            if(typeof value==="string"){
                return this.jsontoObject(value);
            }else{
                return this.jsontoJSON(value);
            }
        },
        jsontoJSON:function(object){
            var type = typeof object;
            if ('object' == type) {
                if (Array == object.constructor) type = 'array';
                else if (RegExp == object.constructor) type = 'regexp';
                else type = 'object';
            }
            switch (type) {
                case 'undefined':
                case 'unknown':
                    return;
                break;
                case 'function':
                case 'boolean':
                case 'regexp':
                    return object.toString();
                break;
                case 'number':
                    return isFinite(object) ? object.toString() : 'null';
                break;
                case 'string':
                    return '"' + object.replace(/(\|")/g, "\$1").replace(/
    |
    |	/g, function() {
                        var a = arguments[0];
                        return (a == '
    ') ? '\n': (a == '
    ') ? '\r': (a == '	') ? '\t': ""
                    }) + '"';
                break;
                case 'object':
                    if (object === null) 
                        return 'null';
                    var results = [];
                    for (var property in object) {
                        var value = this.jsontoJSON(object[property]);
                        if (value !== undefined) 
                            results.push(this.jsontoJSON(property) + ':' + value);
                    }
                    return '{' + results.join(',') + '}';
                break;
                case 'array':
                    var results = [];
                    for (var i = 0; i < object.length; i++) {
                        var value = this.jsontoJSON(object[i]);
                        if (value !== undefined) 
                            results.push(value);
                    }
                    return '[' + results.join(',') + ']';
                break;
            }
        },
        
        jsontoObject:function(strjson){
            return eval("(" + strjson + ")");
        }
    };
    var addFunToYAN = function(functionName,func){
        if(typeof(func) == 'function')
            YAN[functionName] = func;
    };
    for(var m in YANMethod){
        if(typeof(YAN[m]) == 'undefined'){
            addFunToYAN(m,YANMethod[m]);
        }
    }
    $.extend(YAN.using("Plugin"),{
    
    });
    $.extend(YAN.using("Utils"),{
        getQuery:function(name){
              var paramList = location.search.replace("?","").split("&");
              for(var i = 0 ; i < paramList.length ; i++)
              {
                  if(paramList[i].split("=")[0] == name){
                      return paramList[i].substring(paramList[i].indexOf("=") + 1,paramList[i].length);
                  }
              }
              return null;
        }
    });
    var Plugin = YAN.using('Plugin');
    
    Plugin.AD = ad;
    Plugin.AD.getFlashAd();
    
    window.AD || (window.AD = YAN.using('Plugin').AD);
    

    Vue.use()

    http://www.cnblogs.com/dupd/p/6716386.html

  • 相关阅读:
    TP框架基础
    PHP文件上传
    layui-简单的登录注册界面
    layui-注册界面
    JavaScript原生Ajax请求纯文本数据
    ajax异步请求数据
    PHP数据库连接
    PHP页面跳转以及伪登录实例
    OVER 分析函数
    Ubuntu 16 vi输入方向键会变成ABCD的解决方法
  • 原文地址:https://www.cnblogs.com/coding4/p/7510867.html
Copyright © 2011-2022 走看看