Title
- This is an overview of javascript
console.log("Rohan Agarwal");
var msg = "Rohan Agarwal"
console.log(msg)
function logIt(output) {
console.log(output);
}
logIt(msg)
console.log("Reuse of logIt")
logIt("Rohan Agarwal")
logIt(2023)
function LogItType(output) {
console.log(typeof output, ";", output);
}
console.log("Looking at dynamic nature of types in JavaScript")
LogItType("Rohan Agarwal");
LogItType(2020);
LogItType([1, 2, 3]);
function Person(name, ghID, classOf) {
this.name = name;
this.ghID = ghID;
this.classOf = classOf;
this.role = "";
}
Person.prototype.setRole = function(role) {
this.role = role;
}
Person.prototype.toJSON = function() {
const obj = {name: this.name, ghID: this.ghID, classOf: this.classOf, role: this.role};
const json = JSON.stringify(obj);
return json;
}
var student = new Person("Rohan", "RohanAgr", 2023);
LogItType(student);
LogItType(student.toJSON());
teacher.setRole("Student");
LogItType(student);
LogItType(teacher.toJSON());
function Player(name, position, average) {
this.name = name;
this.position = position;
this.average = average;
this.role = "";
}
Player.prototype.setRole = function(role) {
this.role = role;
}
Player.prototype.toJSON = function() {
const obj = {name: this.name, position: this.position, average: this.average, role: this.role};
const json = JSON.stringify(obj);
return json;
}
var manager = new Player("Bob Melvin", "Catcher", ".233");
LogItType(manager);
LogItType(manager.toJSON());
manager.setRole("Manager");
LogItType(manager);
LogItType(manager.toJSON());
var players = [
new Player("Manny Machado", "Third Base", ".299"),
new Player("Trent Grisham", "Center Field", ".185"),
new Player("Jake Cronenworth", "Second Base", ".238"),
new Player("Jurickson Profar", "Left Field", ".240"),
new Player("Ha-Seong Kim", "Shortstop", ".252"),
new Player("Brandon Drury", "First Base", ".226"),
new Player("Jorge Alfaro", "Catcher", ".249"),
new Player("Wil Myers", "Right Field, First Base", ".255"),
new Player("Juan Soto", "Right Field", ".242"),
new Player("Austin Nola", "Catcher", ".248"),
new Player("Josh Bell", "Designated Hitter, First Base", ".191"),
new Player("Jose Azocar", "Outfield", ".272"),
];
function Padres(manager, players){
manager.setRole("Manager");
this.manager = manager;
this.padres = [manager];
this.players = players;
this.players.forEach(player => { player.setRole("Player"); this.padres.push(player); });
this.json = [];
this.padres.forEach(player => this.json.push(player.toJSON()));
}
sd2022 = new Padres(manager, players);
LogItType(sd2022.padres);
LogItType(sd2022.padres[0].name);
LogItType(sd2022.json[0]);
LogItType(JSON.parse(sd2022.json[0]));
Padres.prototype._toHtml = function() {
var style = (
"display:inline-block;" +
"border: 2px solid grey;" +
"box-shadow: 0.8em 0.4em 0.4em grey;"
);
var body = "";
body += "<tr>";
body += "<th><mark>" + "Name" + "</mark></th>";
body += "<th><mark>" + "Position" + "</mark></th>";
body += "<th><mark>" + "Batting Average" + "</mark></th>";
body += "<th><mark>" + "Role" + "</mark></th>";
body += "</tr>";
for (var row of sd2022.padres) {
body += "<tr>";
body += "<td>" + row.name + "</td>";
body += "<td>" + row.position + "</td>";
body += "<td>" + row.average + "</td>";
body += "<td>" + row.role + "</td>";
body += "<tr>";
}
return (
"<div style='" + style + "'>" +
"<table>" +
body +
"</table>" +
"</div>"
);
};
$$.html(sd2022._toHtml());