Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width">
  6. <title>JS Bin</title>
  7. </head>
  8. <body>
  9.  
  10. <script id="jsbin-javascript">
  11. var MyModules = (function Manager() {
  12. var modules = {};
  13.  
  14. function define(name, deps, impl) {
  15. for (var i=0; i<deps.length; i++) {
  16. deps[i] = modules[deps[i]];
  17. }
  18. modules[name] = impl.apply( impl, deps );
  19. }
  20.  
  21. function get(name) {
  22. return modules[name];
  23. }
  24.  
  25. return {
  26. define: define,
  27. get: get
  28. };
  29. })();
  30.  
  31. MyModules.define( "bar", [], function(){
  32. function hello(who) {
  33. return "Let me introduce: " + who;
  34. }
  35.  
  36. return {
  37. hello: hello
  38. };
  39. } );
  40.  
  41. MyModules.define( "foo", ["bar"], function(bar){
  42. var hungry = "hippo";
  43.  
  44. function awesome() {
  45. console.log( bar.hello( hungry ).toUpperCase() );
  46. }
  47.  
  48. return {
  49. awesome: awesome
  50. };
  51. } );
  52.  
  53. var bar = MyModules.get( "bar" );
  54. var foo = MyModules.get( "foo" );
  55.  
  56. console.log(
  57. bar.hello( "hippo" )
  58. ); // Let me introduce: hippo
  59.  
  60. foo.awesome(); // LET ME INTRODUCE: HIPP
  61.  
  62.  
  63. // NEED MORE HELP ON MODULES
  64. </script>
  65.  
  66.  
  67.  
  68. <script id="jsbin-source-javascript" type="text/javascript">var MyModules = (function Manager() {
  69. var modules = {};
  70.  
  71. function define(name, deps, impl) {
  72. for (var i=0; i<deps.length; i++) {
  73. deps[i] = modules[deps[i]];
  74. }
  75. modules[name] = impl.apply( impl, deps );
  76. }
  77.  
  78. function get(name) {
  79. return modules[name];
  80. }
  81.  
  82. return {
  83. define: define,
  84. get: get
  85. };
  86. })();
  87.  
  88. MyModules.define( "bar", [], function(){
  89. function hello(who) {
  90. return "Let me introduce: " + who;
  91. }
  92.  
  93. return {
  94. hello: hello
  95. };
  96. } );
  97.  
  98. MyModules.define( "foo", ["bar"], function(bar){
  99. var hungry = "hippo";
  100.  
  101. function awesome() {
  102. console.log( bar.hello( hungry ).toUpperCase() );
  103. }
  104.  
  105. return {
  106. awesome: awesome
  107. };
  108. } );
  109.  
  110. var bar = MyModules.get( "bar" );
  111. var foo = MyModules.get( "foo" );
  112.  
  113. console.log(
  114. bar.hello( "hippo" )
  115. ); // Let me introduce: hippo
  116.  
  117. foo.awesome(); // LET ME INTRODUCE: HIPP
  118.  
  119.  
  120. // NEED MORE HELP ON MODULES</script></body>
  121. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement