Title: CS101 Introduction to Computing Lecture 18 Objects, Properties, Methods (Web Development Lecture 6)
1CS101 Introduction to ComputingLecture
18Objects, Properties, Methods (Web Development
Lecture 6)
2During the last lecture we continued our
discussion on Interactive Forms
- We got our first taste of JavaScript the
object-based language that we will be employing
throughout the rest of the Web development part
of this course - We developed a (simple) client-side script in
JavaScript
3During Todays Lecture
- We will have a more formal introduction to
JavaScript and client-side scripting - We will become able to appreciate the concept of
objects in JavaScript - We will learn about the properties of those
objects, and about how to read modify them - We will become able to perform simple tasks
through the application of methods
4(No Transcript)
5Last time we looked at two distinct ways of
performing the form field checking
function.From now onwards, we will be employing
the 2nd way more often than notIn that 2nd way,
we referred to a function in the HTML BODY, and
but defined that function in the HTML HEAD
6- The main code segment that goes between the
ltSCRIPTgt, lt/SCRIPTgt tags in the HEAD - function checkForm()
- if ( document.sendEmail.sender.value.length lt
1) - window.alert( Empty From field! Please
correct ) -
-
- The JavaScript code included as an attribute of
the Send eMail button - onMouseOvercheckForm()
7ltHTMLgtltHEADgtltTITLEgtSend an eMaillt/TITLEgtltSCRIPT
gt function checkForm() if (document.sendEmail.
sender.value.length lt 1) window.alert('Empty
From field! Please correct') lt/SCRIPTgtlt/H
EADgtltBODY bgcolor"FFFFCC"gtltH1gtSend an
eMaillt/H1gtltFORM name"sendEmail" method"post"
actionsendMailScriptURLgt ltTABLEgtltTRgt ltTDgtFrom
lt/TDgt ltTDgtltINPUT type"text" name"sender"
size"50" gtlt/TDgt lt/TRgtltTRgt ltTDgtTo lt/TDgt
ltTDgtltINPUT type"text" name"receiver"
size"50"gtlt/TDgt lt/TRgtltTRgtltTDgtSubject lt/TDgt
ltTDgtltINPUT type"text" name"subject"
size"50"gtlt/TDgt lt/TRgtltTRgtltTD
valign"top"gtMessage lt/TDgt ltTDgtltTEXTAREA
name"message" cols"38" rows"6"gtlt/TEXTAREAgtlt/TDgt
lt/TRgtltTRgtltTD colspan"2" align"right"gt
ltINPUT type"reset" name"reset" value"Reset
All Fields"gt ltINPUT type"submit"
name"sendEmail" value"Send eMail"
onMouseOver"checkForm()"gtlt/TDgtlt/TRgtlt/TABLEgtlt/FOR
Mgtlt/BODYgtlt/HTMLgt
8New Concept Client-Side Scripts
- Small programs that are a part of the Web page
and run on the users (clients) computer - They interact with the user to collect info or to
accomplish other tasks - Once it has been collected, they may help pass
the collected info on to a server-side script - Well use JavaScript to do client-side scripting.
However, there are many other languages that can
be used for that purpose, e.g. VBScript
9Advantages of Client-Side Scripting
- Reduced server load as it does not have to send
messages to the users browser about missing or
incorrect data - Reduced network traffic as the forms data is
sent only once instead of many tos and fros
10Disadvantages
- Client-side scripts do not work with all browsers
- Some user intentionally turn scripting off on
their browsers - This increases the complexity of the Web page, as
it now has to support both situations browsers
with scripting capability, and those not having
that capability
11JavaScript
- A programming language specifically designed to
work with Web browsers - It is designed to be used for developing small
programs called scripts that can be embedded
in HTML Web pages - JavaScript
- Is an interpreted language
- Supports event-driven programming
- Is object-based
12Some of things that JavaScript cannot do!
- The following file ops. on the client computer
- Read -- Modify
- Rename -- Delete
- Create
- Create graphics (although, it does have the
ability to format pages through HTML - including
the placement of graphics) - Any network programming bar one function the
ability to download a file to the browser
specified through an arbitrary URL
13Some of the things that JavaScript can do!
- Control the appearance of the browser
- Control the content and appearance of the
document displayed in the browser - Interact with the user through event handlers
- Arbitrary calculations, including floating-point
ones - Store modify a limited amount of data about the
user in the form of client-side cookies
14Client-Side JavaScript
- Although a version of JavaScript exists that can
be used to write server-side scripts, our focus
in this course will only be on client-side
scripting
15Case Sensitivity
- HTML is not case sensitive. The following mean
the same to the browser - ltHTMLgt -- lthtmlgt
- ltHtmlgt -- lthtMlgt
- JavaScript is case sensitive. Only the first of
the following will result in the desired function
the rest will generate an error or some other
undesirable event - onMouseClick -- OnMouseClick
- onmouseclick -- ONMOUSECLICK
16JavaScript
- A programming language specifically designed to
work with Web browsers - It is designed to be used for developing small
programs called scripts that can be embedded
in HTML Web pages - JavaScript
- Is an interpreted language
- Supports event-driven programming
- Is object-based
17JavaScript is Object-Based
- Everything that JavaScript manipulates, it treats
as an object e.g. a window or a button - An object has properties e.g. a window has
size, position, status, etc. - Objects are modified with methods that are
associated with that object e.g. a resize a
window with resizeTo(150, 200)
18Not Object-Oriented!
- JavaScript is not a true object-oriented language
like C or Java - It is so because it lacks two key features
- A formal inheritance mechanism
- Strong typing
- Nevertheless, it does include many key concepts
that are part of almost all object-oriented
languages, and therefore is referred as an
object-based language
19Object A named collection of properties (data,
state) methods (instructions, behavior)
A collection of properties methods
All objects have the name property it holds
the name of the object (collection)
name
method 2
prop 1
prop 3
prop 5
prop 2
method 3
prop 4
method 1
20Example A Bicycle
name
accelerate()
color
pressure
direction
height
park()
turn()
speed
inflate()
21Example JavaScripts window Object
name
open()
width
document
status
height
alert()
location
close()
22Properties
- Objects may have a single or several properties
- A property may have one of the following values
- Number -- Text -- Boolean
- Array -- Functions
- Objects (Example document a property of the
window object is an object in itself. A
document in turn may contain a form object as
a property, and then that form may contain a
button property, which, once again, is an
object in itself)
23Referring to a Property
dot
- objectName.propertyName
- Examples
- window.width
- button.value
24(No Transcript)
25(No Transcript)
26ltHTMLgtltHEADgt ltTITLEgtChange Property Demo
1lt/TITLEgt ltSCRIPTgt function
changeStatus() window.status
Mouse has touched the button
lt/SCRIPTgtlt/HEADgtltBODYgtltH1gtChange Property Demo
1lt/H1gtltFORM namedummy method actiongt
ltINPUT typesubmit name valueChange
Status onMouseOverchangeStatus()gtlt/
FORMgtlt/BODYgtlt/HTMLgt
27- The main code segment that goes between the
ltSCRIPTgt, lt/SCRIPTgt tags in the HEAD - function changeStatus() window.statusMouse
has touched the button - The JavaScript code included as an attribute of
the Submit button - onMouseOverchangeStatus()
new value
property
28(No Transcript)
29(No Transcript)
30- The main code segment that goes between the
ltSCRIPTgt, lt/SCRIPTgt tags in the HEAD - function gotoURL() window.locationhttp//www
.vu.edu.pk/ - The JavaScript code included as an attribute of
the Go to VU button - onMouseOvergotoURL()
new value
property
31You should be connected to the Internet for the
successful execution of the example that we just
discussed
32A Suggestion
- Please try the pieces of code that I just
demonstrated to you to change the status and
location properties of the window object
yourself - Also try changing the width, height properties of
the window object
33Types of Objects
- JavaScript objects
- Objects that are part of JavaScript
- Examples window, document
- Browser objects
- Objects that contain info not about the contents
of the display, but the browser itself - Examples history, navigator
- User-defined object
34One More ExampleLet us try to change the
background color of the window
35(No Transcript)
36(No Transcript)
37- The main code segment that goes between the
ltSCRIPTgt, lt/SCRIPTgt tags in the HEAD - function changeBgcolor() window.document.bgCol
or pink - The JavaScript code included as an attribute of
the Change Color button - onMouseOverchangeBgcolor()
new value
property
38In addition to bgColor, there are many other
properties of the document object, e.g.
- fgColor
- linkColor
- title
- URL
- referrer
- lastModified
- cookie
- forms
- images
- links
-
-
39Read-Only Properties
40- We have learnt how to modify the properties of
objects - But the properties are not there just so that we
can modify them we can also just read them
that is just find out their current value - Let us now look at an example where we first read
a property, display the current value, and then
change the property
41(No Transcript)
42(No Transcript)
43- The main code segment that goes between the
ltSCRIPTgt, lt/SCRIPTgt tags in the HEAD - function changeBgcolor() oldColor
window.document.bgColor - window.document.bgColor pink
- window.alert("The old color was "
oldColor) -
- The JavaScript code included as an attribute of
the Change Color button - onMouseOverchangeBgcolor()
44- Now we have established what we mean by objects
a named collection of properties and methods - And that JavaScript treats everything that it
manipulates as an object - We have also learnt how to change the properties
of these objects by selecting a property and
equating it to a new value
45Methods Functions (code, instructions, behavior)
associated with objects
- Methods are functions associated with an object
that can be used to manipulate that object - Example
- window.close()
- Here close() is a method that has been defined
for the window object. Its function is to
close the window
46Referring to a Method
dot
- objectName.methodName( argumnets )
- Examples
- window.close()
- button.click()
Info is passed on to the method through one or
more arguments
47A few more methods associated with the window
object
- alert()
- confirm()
- prompt()
- close()
- open()
- focus()
- blur()
- setTimeOut()
48(No Transcript)
49- The main code segment that goes between the
ltSCRIPTgt, lt/SCRIPTgt tags in the HEAD - function vuWindow() window.open(http//www.vu
.edu.pk/) - The JavaScript code included as an attribute of
the New VU Window button - onClickvuWindow()
argument
method
different event handler
50Event Handlers
- Objects are made up of properties and associated
methods - Many objects also have event handlers
associated with them - Events are actions that occur as a result of
users interaction with the browser - We use event handlers e.g. onMouseOver(),
onClick() to design Web pages that can react to
those events - More on event handlers in a future lecture
51During Todays Lecture
- We had a more formal introduction to JavaScript
and client-side scripting - We became able to appreciate the concept of
objects in JavaScript - We learnt about the properties of those objects
- We also became able to perform simple tasks
through the application of methods
52Next (the 7th) Web Dev LectureData Types and
Operators
- To find out about data types
- To become familiar with JavaScript data types
- To become able to use JavaScript statements and
arithmetic operators