JAVASCRIPT FUNCTIONS Java Script functions Collection of statements

  • Slides: 46
Download presentation
JAVASCRIPT FUNCTIONS

JAVASCRIPT FUNCTIONS

Java. Script functions Collection of statements that can be invoked as a unit �

Java. Script functions Collection of statements that can be invoked as a unit � Can take parameters � Can be used multiple times � Can call without knowing what they do or how �

What we want to do

What we want to do

Form with input, button, output HTML

Form with input, button, output HTML

Add Data HTML

Add Data HTML

Push Button HTML

Push Button HTML

Fill in Output HTML

Fill in Output HTML

Form with input, button, output with a Java. Script function HTML JAVASCRIPT

Form with input, button, output with a Java. Script function HTML JAVASCRIPT

Add data HTML JAVASCRIPT

Add data HTML JAVASCRIPT

Push button and input data sent to javascript HTML JAVASCRIPT

Push button and input data sent to javascript HTML JAVASCRIPT

Javascript uses the data to create a new result HTML JAVASCRIPT

Javascript uses the data to create a new result HTML JAVASCRIPT

And moves it to the output location HTML JAVASCRIPT

And moves it to the output location HTML JAVASCRIPT

Building Up Function Capabilities Parameters Cubby holes I can just read Function Return Cubby

Building Up Function Capabilities Parameters Cubby holes I can just read Function Return Cubby holes I can just read

SIMPLEST JAVASCRIPT FUNCTION Move the onclick work into a function

SIMPLEST JAVASCRIPT FUNCTION Move the onclick work into a function

Function

Function

Function format function name() { stmt; }

Function format function name() { stmt; }

Moving onclick to a function <form name=“fname”> <button type=“button” onclick=“alert(‘Hi!’ + Math. round(5*Math. random()));

Moving onclick to a function <form name=“fname”> <button type=“button” onclick=“alert(‘Hi!’ + Math. round(5*Math. random())); ”>Click</button> </form> <form name=“fname”> <button type=“button” onclick=“doit(); ”>Click</button> </form> Function doit() { var num = Math. round(5*Math. random()); alert(‘Hi!’+num); }

JAVASCRIPT FUNCTIONS WITH PARAMETERS Let the function work on any data

JAVASCRIPT FUNCTIONS WITH PARAMETERS Let the function work on any data

Parameters Function

Parameters Function

Function format function name(parm) { stmt; }

Function format function name(parm) { stmt; }

Parameter Name is a placeholder � Can be used anywhere in a function �

Parameter Name is a placeholder � Can be used anywhere in a function � Can be used as many times as you want � Can not change it � MUST supply value when call � Can be different every time �

parameters � � � Just a special type of variable Something that you hand

parameters � � � Just a special type of variable Something that you hand to the function Q: Many users: how do you name? A: Give it its OWN names to use locally Q: How do you match up? A: By POSITION

FUNCTION with parameters HTML <head> <script src='data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20415%20289%22%3E%3C/svg%3E' data-src=“function. js”></script> </head> <body> <button type=“button” onclick=“doit(3, 5);

FUNCTION with parameters HTML <head> <script src=“function. js”></script> </head> <body> <button type=“button” onclick=“doit(3, 5); ”> </body> JAVASCRIPT (FUNCTION. JS) function doit (a, b) { var c = a*b; alert(“product is ”+c); }

Passing Parameters HTML mypet(‘cow’); mypet(‘dog’); JS function mypet(pet) { alert(‘my pet: ‘+pet); }

Passing Parameters HTML mypet(‘cow’); mypet(‘dog’); JS function mypet(pet) { alert(‘my pet: ‘+pet); }

Multiple Parameters Order matters � Need different names �

Multiple Parameters Order matters � Need different names �

Passing Parameters HTML taller(‘Mutt’, ’Jeff’); taller(‘Jeff’, ’Mutt’); JS function taller(big, small) { alert (big+’

Passing Parameters HTML taller(‘Mutt’, ’Jeff’); taller(‘Jeff’, ’Mutt’); JS function taller(big, small) { alert (big+’ is taller than ‘+ small); }

RETURNING A VALUE Let the result be placed anywhere

RETURNING A VALUE Let the result be placed anywhere

Parameters Function Return

Parameters Function Return

Returning a value � Use the function as a value �document. get. Element. By.

Returning a value � Use the function as a value �document. get. Element. By. Id(‘here’). inner HTML = function(parm 1, parm 2); �difference � = subtract(minuhend, subtrahend); Contrast with alert(string);

Return value in Java. Script � � � return (value); Want to get information

Return value in Java. Script � � � return (value); Want to get information BACK to HTML With a return, the function has a VALUE Can be used anywhere you can use a constant or variable �Alert �Assignment statement

FUNCTION with return HTML <head> <script src='data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20415%20289%22%3E%3C/svg%3E' data-src=“function. js”></script> </head> <body> <button type=“button” onclick=“alert(doit(3, 5));

FUNCTION with return HTML <head> <script src=“function. js”></script> </head> <body> <button type=“button” onclick=“alert(doit(3, 5)); ”> </body> JAVASCRIPT (FUNCTION. JS) function doit (a, b) { var c = a*b; return(c); }

SUMMARY

SUMMARY

Building our own �Need to define �Inputs �Outputs �What to do

Building our own �Need to define �Inputs �Outputs �What to do

� These are the parameters � Order � matters Need a way to reference

� These are the parameters � Order � matters Need a way to reference them � Position 1, position 2, … Cubby holes � Better to use meaningful names � Each name is just a pointer to the cubby hole Inputs: read only

� Use a RETURN statement A write-once cubby hole � Only way to access

� Use a RETURN statement A write-once cubby hole � Only way to access is the RETURN statement � � � Once you set it, the function is ended Can have a simple value or more (e. g. , concatenating strings) output: write once

Statements in a function

Statements in a function

Function = recipe Steps = assignments � � � Order matters Perform actions one

Function = recipe Steps = assignments � � � Order matters Perform actions one at a time Gets current values from right side of assignment Manipulates as requested Gives that value to the left side of the statement

Referencing information on an HTML page

Referencing information on an HTML page

3 Parts � � � document = on this page get. Element. By. Id(‘name’)

3 Parts � � � document = on this page get. Element. By. Id(‘name’) = identifies the subby hole Which part of the cubby hole? � value = the value assigned to an input field � src = the file that is to be displayed in an img � class. Name = the class used to format the element � inner. HTML = the HTML within the tag and its end

TABLES

TABLES

A Basic Table <table> <tr> <td> </tr> </table> Table (TABLE) Contains TABLE ROWS (TR)

A Basic Table <table> <tr> <td> </tr> </table> Table (TABLE) Contains TABLE ROWS (TR) Contains TABLE DATA (TD) Data can contain anything › › › Text Lists Other tables Pictures …

Table borders � Every element in the table has a border � Adjacent cells

Table borders � Every element in the table has a border � Adjacent cells can have their own borders (default) or they can share a border (bordercollapse)

Formatting elements � Often need to repeat format on multiple elements � CSS notation

Formatting elements � Often need to repeat format on multiple elements � CSS notation th, tr, td { border: none; }

Column Width � Tables will adjust columns based on content � What if you

Column Width � Tables will adjust columns based on content � What if you want them fixed width? › Fixed and same td { width: …; } › Fixed and different class per td (but have to put it on every td)

Centering Tables � They have width. Use margins. � Elements in table can have

Centering Tables � They have width. Use margins. � Elements in table can have any text align you want � Remember display: table;

Merging Cells � CAN’T BE DONE IN CSS � HTML attributes on td ›

Merging Cells � CAN’T BE DONE IN CSS � HTML attributes on td › colspan=“n” › rowspan=“n”