Factory Function

Good video on factory function - https://www.youtube.com/watch?v=jN-J4VDNcN4

Example Syntax 1

Code Example

<script>
 let gold = {
  element: "Gold",
  series: "Transition Metal",
  atomic_number: "79",
  energy_levels: "2, 8, 18, 32, 18, 1",
  atomic_weight: "196.966569 u",
  electronegativity: "2.54",
  melting_point: "1,064.18 C",
  boiling_point: "2,856 C",
  electron_affinity: "222.8 kj/mol",
  ionization_first: "890.1 kj/mol",
  radius_calculated: "174 pm",
  hardness_brinell: "25 MPa",
  modulus_bulk: "220 GPa",
  density_stp: "19,300 kg/m3 W/mK",
  conductivity_thermal: "320 W/mK",
  heat_specific: "129.1 J/kgK",
  abundance_universe: "6.0E-8%",
  discovered: "2500 BCE"
};

 document.getElementById("data").innerHTML = "Element number 79 on the periodic table is: " + gold.element;
 console.log("Element: " + gold.element);
 console.log("Series: " + gold.series);
 console.log("Atomic Number: " + gold.atomic_number);
 console.log("Energy Levels: " + gold.energy_levels);
 console.log("Atomic Weight: " + gold.atomic_weight);

 document.getElementById("data").innerHTML = "<p class='title'>Element:</p> " + "<p class='property'>" + gold.element + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Series:</p> " + "<p class='property'>" + gold.series + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Atomic Number:</p> " + "<p class='property'>" + gold.atomic_number + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Energy Levels:</p> " + "<p class='property'>" + gold.energy_levels + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Atomic Weight::</p> " + "<p class='property'>" + gold.atomic_weight + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Electronegativity:</p> " + "<p class='property'>" + gold.electronegativity + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Melting Point:</p> " + "<p class='property'>" + gold.melting_point + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Boiling Point:</p> " + "<p class='property'>" + gold.boiling_point + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Electon Affinity:</p> " + "<p class='property'>" + gold.electron_affinity + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Ionization, First:</p> " + "<p class='property'>" + gold.ionization_first + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Radius Calculated:</p> " + "<p class='property'>" + gold.radius_calculated + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Hardness, Brinell:</p> " + "<p class='property'>" + gold.hardness_brinell + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Modulus, Bulk:</p> " + "<p class='property'>" + gold.modulus_bulk + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Density, STP:</p> " + "<p class='property'>" + gold.density_stp + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Conductivity, Thermal:</p> " + "<p class='property'>" + gold.conductivity_thermal + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Heat, Specific:</p> " + "<p class='property'>" + gold.heat_specific + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Abundance, Universe:</p> " + "<p class='property'>" + gold.abundance_universe + "</p>
"; document.getElementById("data").innerHTML += "<p class='title'>Discovered:</p> " + "<p class='property'>" + gold.discovered + "</p>"; </script>

Example Syntax 2

Code Example

  <script>
   let Person = function(name, age, email, phone, address) {
   let person = {};
   person.name = name;
   person.age = age;
   person.email = email;
   person.phone = phone;
   person.address = address;
   person.greeting = function() {
    // console.log("Hello, I am " + person.name + ". I am " + person.age + " years old, " + "and you can reach me at " + person.phone + " if you need me.");
   };
   return person;
  };

  let employee1 = Person("Hoosier Daddy", 58, "hoosier@daddy.com", "408-639-9241", "1234 Five Street, Mytown, CA 95000");
  // console.log(employee1.greeting);
  // document.getElementById('data2').innerHTML += employee1.greeting;
  console.log("Hello, I am " + employee1.name + ". I am " + employee1.age + " years old, " + "and you can reach me at " + employee1.phone + " if you need me.");
  document.getElementById('data2').innerHTML += "

Hello, I am " + employee1.name + ". I am " + employee1.age + " years old, " + "and you can reach me at " + employee1.phone + " if you need me.

"; let employee2 = Person("Nunyo Bidness", 32, "nunyo@bidness.com", "408-234-5678", "3456 Seventh Street, TheOtherTown, CA 95111"); // console.log(employee2.greeting); // document.getElementById('data2').innerHTML += employee2.greeting; console.log("Hello, I am " + employee2.name + ". I am " + employee2.age + " years old, " + "and you can reach me at " + employee2.phone + " if you need me."); document.getElementById('data2').innerHTML += "Hello, I am " + employee2.name + ". I am " + employee2.age + " years old, " + "and you can reach me at " + employee2.phone + " if you need me."; </script>

Example 3 Output Using the "New" Keyword

Code Example

  <script>
   let ColoredPoint = function(x, y, color) {
   let _info = "...Object i Still Under Construction Buddy!";
   let _color = color;
   console.log(_info);
   this.x = x;
   this.y = y;
   this.getColor = function() {
   return _color
   };
  };

  let coloredPoint10 = new ColoredPoint(1, 1, "Purple");
  let coloredPoint11 = new ColoredPoint(2, 2, "Yellow");
  console.log(coloredPoint10.getColor());
  console.log(coloredPoint11.getColor());
  console.log(coloredPoint10._color);

  document.getElementById('data3').innerHTML = coloredPoint10.getColor() + "<br>";
  document.getElementById('data3').innerHTML += coloredPoint11.getColor() + "<br>";
  document.getElementById('data3').innerHTML += coloredPoint10._color;
  </script>