看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
时间: 2024-11-07 09:02:49