Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <script src="factory.js"></script>
- <script src="jquery-2.2.0.min.js"></script>
- <title></title>
- </head>
- <body>
- <input type="text" /> <button id="addEmployee">Add Employee</button>
- <br /><br />
- <button id="display">Display</button>
- <script>
- var employees = [];
- var employeeFactory = new EmployeeFactory();
- $('#addEmployee').click(function() {
- var $name = $('input').val();
- employees.push(employeeFactory.create($name));
- });
- $('#display').click(function() {
- for (var i = 0, len = employees.length; i < len; i++) {
- employees[i].say();
- }
- log.show();
- });
- </script>
- </body>
- </html>
- // factory.js
- function Employee(name) {
- this.name = name;
- this.say = function () {
- log.add("I am employee " + name);
- };
- }
- function EmployeeFactory() {
- this.create = function(name) {
- return new Employee(name);
- };
- }
- function Vendor(name) {
- this.name = name;
- this.say = function () {
- log.add("I am vendor " + name);
- };
- }
- function VendorFactory() {
- this.create = function(name) {
- return new Vendor(name);
- };
- }
- // log helper
- var log = (function () {
- var log = "";
- return {
- add: function (msg) { log += msg + "\n"; },
- show: function () { alert(log); log = ""; }
- }
- })();
- /*
- function run() {
- var persons = [];
- var employeeFactory = new EmployeeFactory();
- var vendorFactory = new VendorFactory();
- persons.push(employeeFactory.create("Joan DiSilva"));
- persons.push(employeeFactory.create("Tim O'Neill"));
- persons.push(vendorFactory.create("Gerald Watson"));
- persons.push(vendorFactory.create("Nicole McNight"));
- for (var i = 0, len = persons.length; i < len; i++) {
- persons[i].say();
- }
- log.show();
- }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement