Skip to content

Instantly share code, notes, and snippets.

@skt-t1-byungi
Last active January 21, 2017 09:56
Show Gist options
  • Save skt-t1-byungi/9d3c6d044fd5555af0ab3b6fb59cd438 to your computer and use it in GitHub Desktop.
Save skt-t1-byungi/9d3c6d044fd5555af0ab3b6fb59cd438 to your computer and use it in GitHub Desktop.
simple factory
(function(win, $) {
'use strict';
var NAMESPACE = 'innorix';
var modules = {};
var fetched = { $: $ };
var define = win[NAMESPACE] = function(name, fn) {
modules[name] = fn;
};
var load = function(name) {
if (modules[name]) {
fetched[name] = modules[name](load);
delete modules[name];
}
if (!fetched.hasOwnProperty(name)) {
throw 'not exist "' + name + '"';
}
return fetched[name];
};
var klass = fetched.klass = function(mixins, methods) {
if (!methods) {
methods = mixins;
mixins = [];
}
var prototypes = $.map(mixins, function(mixin) {
return mixin.prototype || {};
});
prototypes.push(methods);
methods = $.extend.apply({}, prototypes);
if (!methods.hasOwnProperty('constructor')) {
methods.constructor = function() {};
}
var constructor = methods.constructor;
constructor.prototype = methods;
return constructor;
};
//API
$(function() {
$.extend(define, load('API'));
});
})(window, jQuery);
var ajax=function(){
try{
var xml =new XMLHttpRequest();
var args =arguments;
var context =this;
var multipart ="";
xml.open(args[0].method,args[0].url,true);
if(args[0].method.search(/post/i)!=-1){
var boundary=Math.random().toString().substr(2);
xml.setRequestHeader("content-type",
"multipart/form-data; charset=utf-8; boundary=" + boundary);
for(var key in args[0].data){
multipart += "--" + boundary
+ "\r\nContent-Disposition: form-data; name=" + key
+ "\r\nContent-type: application/octet-stream"
+ "\r\n\r\n" + args[0].data[key] + "\r\n";
}
multipart += "--"+boundary+"--\r\n";
}
xml.onreadystatechange=function(){
try{
if(xml.readyState==4){
context.txt=xml.responseText;
context.xml=xml.responseXML;
args[0].callback();
}
}
catch(e){}
}
xml.send(multipart);
}
catch(e){}
}
@skt-t1-byungi
Copy link
Author

순환참조제거. 컨스터럭터

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment