Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function defaultArguments(func, params) {
- var commentExp = /\/\*.*\//g;
- var regExp = /\(([^)]+)\)/;
- var bodyExp = /\{([^}]+)\}/;
- var funcString = func.toString().replace(commentExp,'').replace(/\/\/.*/g,'').replace(/\s+/g,'').replace('\n','');
- console.log(funcString);
- var args = regExp.exec(funcString) ? func.args || regExp.exec(funcString)[1].trim() : '';
- args = args.toString().split(',');
- var nFunc = function() {
- var argsObj = {};
- for(var e in params) {
- argsObj[e] = params[e];
- }
- for(var i = 0; i < arguments.length; i++) {
- argsObj[args[i]] = arguments[i];
- }
- var argsArr = [];
- for(var i = 0; i < args.length; i++) {
- argsArr.push(argsObj[args[i]]);
- }
- return func.apply(this,argsArr);
- }
- nFunc.args = args;
- return nFunc;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement