Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script src="factory.js"></script>
  5. <script src="jquery-2.2.0.min.js"></script>
  6. <title></title>
  7. </head>
  8. <body>
  9. <input type="text" />&nbsp;<button id="addEmployee">Add Employee</button>
  10. <br /><br />
  11. <button id="display">Display</button>
  12. <script>
  13. var employees = [];
  14. var employeeFactory = new EmployeeFactory();
  15. $('#addEmployee').click(function() {
  16. var $name = $('input').val();
  17. employees.push(employeeFactory.create($name));
  18. });
  19. $('#display').click(function() {
  20. for (var i = 0, len = employees.length; i < len; i++) {
  21. employees[i].say();
  22. }
  23.  
  24. log.show();
  25. });
  26. </script>
  27. </body>
  28.  
  29. </html>
  30.  
  31. // factory.js
  32. function Employee(name) {
  33. this.name = name;
  34.  
  35. this.say = function () {
  36. log.add("I am employee " + name);
  37. };
  38. }
  39.  
  40. function EmployeeFactory() {
  41.  
  42. this.create = function(name) {
  43. return new Employee(name);
  44. };
  45. }
  46.  
  47. function Vendor(name) {
  48. this.name = name;
  49.  
  50. this.say = function () {
  51. log.add("I am vendor " + name);
  52. };
  53. }
  54.  
  55. function VendorFactory() {
  56.  
  57. this.create = function(name) {
  58. return new Vendor(name);
  59. };
  60. }
  61.  
  62. // log helper
  63. var log = (function () {
  64. var log = "";
  65.  
  66. return {
  67. add: function (msg) { log += msg + "\n"; },
  68. show: function () { alert(log); log = ""; }
  69. }
  70. })();
  71. /*
  72. function run() {
  73. var persons = [];
  74. var employeeFactory = new EmployeeFactory();
  75. var vendorFactory = new VendorFactory();
  76.  
  77. persons.push(employeeFactory.create("Joan DiSilva"));
  78. persons.push(employeeFactory.create("Tim O'Neill"));
  79. persons.push(vendorFactory.create("Gerald Watson"));
  80. persons.push(vendorFactory.create("Nicole McNight"));
  81.  
  82. for (var i = 0, len = persons.length; i < len; i++) {
  83. persons[i].say();
  84. }
  85.  
  86. log.show();
  87. }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement