Week 7: Assignment 1

by Angela Baruth

HTML

<div>
    <p>Here we use a constuctor function to create two objects, and use conventional object notation (dot notation and bracket notatation) to access the objects' methods and properties. </p>
    <p>Output will appear below:</p>
</div>
<div id="output"></div>

JavaScript

function sayName(f, l, a, e) {
    this.fname = f;
    this.lname = l;
    this.addr = a;
    this.email = e;
 
    this.personRole = "student";
    this.getFullName = function(){
                return this.fname + " " + this.lname;
    }
}

// call the constructor function like this rather than using the new operator
var someone =  new sayName("Sarah", "Connor", "Los Angeles", "[email protected]");
var me =  new sayName("Angela","Baruth","Biel","[email protected]");
var you = new sayName("Any","Student","Harvard","[email protected]");


// Call on the objects' properties and methods
logMessage(someone.fname);     	   // Angela
logMessage(someone["fname"]);   	   // Angela
logMessage(someone.getFullName());   // Angela Baruth
logMessage(someone.getFullName());  // Angela Baruth

logMessage(someone.fname);     	   // Angela
logMessage(someone["lname"]);   	   // Baruth


// Utility function for logging convenience
// Logs msg to the element with given id
// If id is undefined, logs to #output
function logMessage(msg, id){
    if (!id){
        id="output";
    }
    document.getElementById(id).innerHTML += msg + "<br>";
}