js中use或者using方法

Posted 飘然离去

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(/\\n|\\r|\\t/g, function() {
                    var a = arguments[0];
                    return (a == \'\\n\') ? \'\\\\n\': (a == \'\\r\') ? \'\\\\r\': (a == \'\\t\') ? \'\\\\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

以上是关于js中use或者using方法的主要内容,如果未能解决你的问题,请参考以下文章

SVG.js,从使用“use”导入的元素中删除/读取属性“transform”

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

[React Testing] Use Generated Data in Tests with tests-data-bot to Improve Test Maintainability(代码片段

七个办法只有一个有效:200 PORT command successful. Consider using PASV.425 Failed to establish connection.(代码片段

[TIA PORTAL][CONVERT] Convert Char Array to DInt...DInt to Char Array..Useful and easy function(代码片段

[Grid Layout] Use auto-fill and auto-fit if the number of repeated grid tracks is not to be def(代码片段