Advertisement
Guest User

Untitled

a guest
Jun 30th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. function defaultArguments(func, params) {
  2. var commentExp = /\/\*.*\//g;
  3. var regExp = /\(([^)]+)\)/;
  4. var bodyExp = /\{([^}]+)\}/;
  5. var funcString = func.toString().replace(commentExp,'').replace(/\/\/.*/g,'').replace(/\s+/g,'').replace('\n','');
  6. console.log(funcString);
  7. var args = regExp.exec(funcString) ? func.args || regExp.exec(funcString)[1].trim() : '';
  8.  
  9. args = args.toString().split(',');
  10. var nFunc = function() {
  11. var argsObj = {};
  12. for(var e in params) {
  13. argsObj[e] = params[e];
  14. }
  15. for(var i = 0; i < arguments.length; i++) {
  16. argsObj[args[i]] = arguments[i];
  17. }
  18. var argsArr = [];
  19. for(var i = 0; i < args.length; i++) {
  20. argsArr.push(argsObj[args[i]]);
  21. }
  22. return func.apply(this,argsArr);
  23. }
  24. nFunc.args = args;
  25. return nFunc;
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement