JavaScript functions are an important method for organizing your scripts.
function dayTime() { var now = new Date return now.getHours() + ":" + now.getMinutes() } document.write("The time is now " + dayTime() + ". Are you on time?") |
function quadranomial(x, a, b, c) { return a + b*x + c*x*x } x = 2 z = quadranomial(x, 4, 3, 0) document.write(z) |
document.write(typeof quadranomial) |
document.write(typeof quadranomial(1, 2, 3, 4)) |
document.write(typeof void quadranomial(1, 2, 3, 4)) |
JavaScript objects are the key to interacting with documents.
<script language="JavaScript"> function checkCollege(college) { if (college.value.toLowerCase() != "amherst College" && college.value.toLowerCase() != "amherst") { college.value = "Not Acceptable!" } else { college.value = "Amherst College" } } </script> <form name="CollegeInput"> <input name="College" type="text" value="Type Your College Here" size="22" onChange="checkCollege(this)"> </form> |
Question: What other document objects have we encountered already? What properties did they have?
document.writeln(typeof document.CollegeInput) document.write(typeof document.CollegeInput.College) |
document.CollegeInput.College.not = "Not Acceptable!" document.CollegeInput.College.checkCollege = checkCollege() |
ssCellA1 = { column:0, row:0, name:cr2name, value:32.4 } document.write('<table width="150" border="1" cellspacing="1" cellpadding="1">') document.write('<tr><td width="50" align="center"></td>') document.write('<td width="100" align="center"><b>A</b></td>') document.write('</tr><tr><td align="center"><b>1</b></td>') document.write('<td align="center">') document.write(ssCellA1.name() + ' == ' + ssCellA1.value) document.write('</td></tr></table>') |
ssCellB1 = new Object() ssCellB1.column = 1 ssCellB1.row = 0 ssCellB1.name = cr2name ssCellB1.value = "" document.write('<table width="250" border="1" cellspacing="1" cellpadding="1">') document.write('<tr><td width="50" align="center"></td>') document.write('<td width="100" align="center"><b>A</b></td>') document.write('<td width="100" align="center"><b>B</b></td>') document.write('</tr><tr><td align="center"><b>1</b></td>') document.write('<td align="center">') document.write(ssCellA1.name() + ' == ' + ssCellA1.value) document.write('</td><td align="center">') document.write(ssCellB1.name() + ' == ' + ssCellB1.value) document.write('</td></tr></table>') |
function SSCell(column, row, value) { this.column = column this.row = row this.name = cr2name this.value = value } ssCellA2 = new SSCell(0, 1, -27) ssCellB2 = new SSCell(1, 1, 7.5) document.write('<table width="250" border="1" cellspacing="1" cellpadding="1">') document.write('<tr><td width="50" align="center"></td>') document.write('<td width="100" align="center"><b>A</b></td>') document.write('<td width="100" align="center"><b>B</b></td>') document.write('</tr><tr><td align="center"><b>1</b></td>') document.write('<td align="center">') document.write(ssCellA1.name() + ' == ' + ssCellA1.value) document.write('</td><td align="center">') document.write(ssCellB1.name() + ' == ' + ssCellB1.value) document.write('</tr><tr><td align="center"><b>2</b></td>') document.write('<td align="center">') document.write(ssCellA2.name() + ' == ' + ssCellA2.value) document.write('</td><td align="center">') document.write(ssCellB2.name() + ' == ' + ssCellB2.value) document.write('</td></tr></table>') |
delete ssCellB2 document.write("ssCellB2 is a(n) " + typeof ssCellB2 + " value.") |
document.write("ssCellA2.value a(n) " + typeof ssCellA2.value + " value.<br>") delete ssCellA2.value document.write("ssCellA2.value a(n) " + typeof ssCellA2.value + " value.<br>") document.write("ssCellA2.name a(n) " + typeof ssCellA2.name + " value.") |
/* Previously defined: <form name="CollegeInput"> <input name="College" type="text" value="Type Your College Here" size="22" onChange="checkCollege(this)"> </form> */ with (document.CollegeInput.College) { document.write('"' + value + '" can be at most ') document.write(size + ' characters long.') } |
document.write('ssCellA1.value = ' + ssCellA1.value + '<br>') document.write("ssCellA1['value'] = " + ssCellA1['value']) |
document.write('The members of the object ssCellA1 are:<br>') for (member in ssCellA1) { document.write('ssCellA1.' + member + ' = ' + ssCellA1[member] + '<br>') } |
JavaScript does not have an explicit array type, but you can create an array object.
fiveColleges = new Array(5) fiveColleges[0] = 'Amherst College' fiveColleges[1] = 'Hampshire College' fiveColleges[2] = 'Mount Holyoke College' fiveColleges[3] = 'Smith College' fiveColleges[4] = 'University of Massachusetts' fiveColleges[5] = 'Williams College' document.write("fiveColleges is a(n) " + typeof fiveColleges + " value.<br>") document.write("fiveColleges[3] == " + fiveColleges[3] + ".<br>") document.write("fiveColleges has length " + fiveColleges.length + ".") |
function genArray(n) { this.length = n } threeColleges = new genArray(3) threeColleges[0] = 'Bryn Mawr College' threeColleges[1] = 'Haverford College' threeColleges[2] = 'Swarthmore College' document.write("threeColleges has length " + threeColleges.length + ".<br>") document.write("threeColleges[0] == " + threeColleges[0] + ".") |
threeColleges[1] = 3 threeColleges[2] = ssCellA1 document.write("threeColleges[0] is a(n) " + typeof threeColleges[0] + " value.<br>") document.write("threeColleges[1] is a(n) " + typeof threeColleges[1] + " value.<br>") document.write("threeColleges[2] is a(n) " + typeof threeColleges[2] + " value.") |
function ssWrite() { document.write('<table width="' + (50 + this.length * 100) + '"') document.write(' border="1" cellspacing="1" cellpadding="1">') document.write('<tr><td width="50" align="center"></td>') for (column = 0; column < this.length; column++) { document.write('<td width="100" align="center"><b>') document.write(c2name(column)) document.write('</b></td>') } for (row = 0; row < this[0].length; row++) { document.write('</tr><tr><td align="center"><b>' + (row + 1) + '</b>') for (column = 0; column < this.length; column++) { document.write('</td><td align="center">') document.write(this[column][row].value) } } document.write('</td></tr></table>') } function SSCol(column, rows) { var i var sscol = new Array(rows) for (i = 0; i < rows; i++) { sscol[i] = new SSCell(column, i) } return sscol } function SSheet(columns, rows) { var i var ssheet = new Array(columns) for (i = 0; i < columns; i++) { ssheet[i] = new SSCol(i, rows) } ssheet.write = ssWrite return ssheet } mySheet = SSheet(2, 2) mySheet[0][0].value = 32.4 mySheet[1][0].value = "" mySheet[0][1].value = -27 mySheet[1][1].value = 7.5 mySheet.write() |
delete fiveColleges[5] document.write("fiveColleges[5] == " + fiveColleges[5] + ".") |