9. Gi畛i thi畛u v畛 Javascript
oKhi tr狸nh duy畛t (Client browser) truy c畉p
trang web c坦 ch畛a c叩c o畉n m達 x畛 l箪 t畉i
server-side. Server ( run-time engine) se
th畛c hi畛n c叩c l畛nh Server-side Scipts va
tr畉 v畛 n畛i dung HTML cho tr狸nh duy畛t
N畛i dung html tr畉 v畛 ch畛 y畉u bao g畛m: m達
html, client-script.
10. N畛i dung
Gi畛i thi畛u v畛 Javascript
Nh炭ng Javascript vo trang web
Ki畛u d畛 li畛u & C叩c c炭 ph叩p Javascript
X畛 l箪 s畛 ki畛n
DOM HTML v畛i Javascript
V鱈 d畛
11. Nh炭ng Javascript vo trang web
畛nh ngh挑a script tr畛c ti畉p trong trang html:
<script type=text/javascript>
<!--
// L畛nh Javascript
-->
</script>
Nh炭ng s畛 d畛ng script ci 畉t t畛 1 file .js kh叩c:
<script src=/slideshow/c3javascriptpdf/259750623/xxx.js></script>
12. Nh炭ng Javascript vo trang web
<html>
<head>
<script type="text/javascript">
some statements
</script>
</head>
<body>
<script type="text/javascript">
some statements
</script>
<script src=/slideshow/c3javascriptpdf/259750623/T棚n_file_script.js">method()</script>
<script type=text/javascript>
// g畛i th畛c hi畛n c叩c ph動董ng th畛c 動畛c 畛nh ngh挑a
// trong T棚n_file_script.js
</script>
</body>
</html>
13. Nh炭ng Javascript vo trang web
仰畉t gi畛a tag <head> v </head>: script s畉 th畛c
thi ngay khi trang web 動畛c m畛.
仰畉t gi畛a tag <body> v </body>: script trong
ph畉n body 動畛c th畛c thi khi trang web ang
m畛 (sau khi th畛c thi c叩c o畉n script c坦 trong
ph畉n <head>).
S畛 l動畛ng o畉n client-script ch竪n vo trang
kh担ng h畉n ch畉.
18. Ki畛u d畛 li畛u trong Javascript
Ki畛u d畛 li畛u V鱈 d畛 M担 t畉
Object var listBooks = new Array(10) ; Tr動畛c khi s畛 d畛ng, ph畉i c畉p ph叩t
b畉ng t畛 kh坦a new
String The cow jumped over the moon.
40
Ch畛a 動畛c chu畛i unicode
Chu畛i r畛ng
Number 0.066218
12
Theo chu畉n IEEE 754
boolean true / false
undefined var myVariable ; myVariable = undefined
null connection.Close(); connection = null
19. 畛i ki畛u d畛 li畛u
Bi畉n t畛 畛i ki畛u d畛 li畛u khi gi叩 tr畛 m n坦 l動u
tr畛 thay 畛i
V鱈 d畛:
var x = 10; // x ki畛u Number
x = hello world !; // x ki畛u String
C坦 th畛 c畛ng 2 bi畉n kh叩c ki畛u d畛 li畛u
V鱈 d畛:
var x;
x = 12 + 34.5; // KQ: x = 1234.5
Hm parseInt(), parseFloat() : 畛i KDL t畛
chu畛i sang s畛.
20. Special Characters
b backspace
f form feed
n
new line (xu畛ng d嘆ng v 動a con
tr畛 v畛 畉u d嘆ng 坦)
r
Carriage return (動a con tr畛 v畛
畉u d嘆ng hi畛n t畉i)
t Tab
21. To叩n t畛 s畛 h畛c
To叩n t畛 M担 t畉 V鱈 d畛
+ Ph辿p c畛ng A = 5 + 8
- Ph辿p tr畛 A = 8 - 5
/ Ph辿p chia A = 20 / 5
% Ph辿p chia l畉y s畛 d動 10 % 3 = 1
++ Tng l棚n m畛t 董n v畛. To叩n t畛 ny nh畉n m畛t
to叩n h畉ng. Gi叩 tr畛 c畛a to叩n h畉ng s畉 tng l棚n 1
董n v畛. Gi叩 tr畛 動畛c tr畉 v畛 s畉 tu畛 thu畛c vo
to叩n t畛 ++ n畉m sau hay n畉m tr動畛c to叩n h畉ng.
++x s畉 tr畉 v畛 gi叩 tr畛 c畛a
x sau khi tng.
x++ s畉 tr畉 v畛 gi叩 tr畛 c畛a
x tr動畛c khi tng.
- - Gi畉m m畛t 董n v畛. To叩n t畛 ny nh畉n m畛t to叩n
h畉ng. Gi叩 tr畛 動畛c tr畉 v畛 tu畛 thu畛c vo to叩n t畛
-- n畉m tr動畛c hay n畉m to叩n h畉ng.
--x s畉 tr畉 v畛 gi叩 tr畛 c畛a
x sau khi gi畉m.
x-- s畉 tr畉 v畛 gi叩 tr畛 c畛a
x tr動畛c khi gi畉m. .
- L畉y s畛 畛i. N坦 s畉 tr畉 v畛 s畛 畛i c畛a to叩n h畉ng N畉u a l 5, th狸 a = -5.
31. M畛t vi hm th動畛ng d湛ng
eval
Ham eval 動畛c d湛ng 畛 叩nh gi叩 m畛t chu畛i
va kh担ng c畉n tham chi畉u 畉n b畉t k畛 m畛t 畛i
t動畛ng c畛 th畛 nao.
eval(string)
Hm isNaN
Ham isNaN 動畛c d湛ng 畛 ki畛m tra xem 畛i
s畛 truy畛n vao c坦 ph畉i la m畛t s畛 hay kh担ng.
isNaN(testValue)
32. C但u l畛nh if
if (condition)
{
statement[s] if true
}
else
{
statement[s] if false
}
V鱈 d畛:
var x = 5, y = 6, z;
if (x == 5) { if (y == 6) z = 17; } else z = 20;
33. C但u l畛nh switch
switch (expression)
{
case label :
statementlist
case label :
statementlist
...
default :
statement list
}
V鱈 d畛 :
var diem = G;
switch (diem) {
case Y:
document.write(Y畉u");
break;
case TB:
document.write(Trung b狸nh");
break;
case K:
document.write(Kh叩");
break;
case G :
document.write(Gi畛i");
break;
default:
document.write(Xu畉t s畉c")
}
34. V嘆ng l畉p for
for ([initial expression]; [condition];
[update expression]) {
statement[s] inside loop
}
V鱈 d畛:
var myarray = new Array();
for (i = 0; i < 10; i++)
{
myarray[i] = i;
}
35. V嘆ng l畉p while
while (expression)
{
statements
}
V鱈 d畛:
var i = 9, total = 0;
while (i < 10)
{
total += i * 3 + 5;
i = i +5;
}
36. V嘆ng l畉p do.. while
do
{
statement
}while (expression);
V鱈 d畛:
var i = 9, total = 0;
do
{
total += i * 3 + 5;
i = i +5;
} while (i > 10);
37. N畛i dung
Gi畛i thi畛u v畛 Javascript
Nh炭ng Javascript vo trang web
Ki畛u d畛 li畛u & C叩c c炭 ph叩p Javascript
S畛 d畛ng c叩c 畛i t動畛ng trong Javascript
X畛 l箪 s畛 ki畛n
DOM HTML v畛i Javascript
V鱈 d畛
38. C叩c 畛i t動畛ng trong Javascript
String
Number
Array
Date
Math
navigator
window
Document.
location
History
39. String
Thu畛c t鱈nh:
length : chi畛u di c畛a chu畛i
constructor : D湛ng 畛 ki畛m tra ki畛u c畛a bi畉n
N畛i k畉t c叩c chu畛i b畉ng to叩n t畛 +
<script language="javascript">
var sTenBien = new String();
sTenBien = 256;
if(sTenBien.constructor == String)
{
document.writeln("sTenBien la mot chuoi co chieu dai la:" +
sTenBien.length);
}
else
{
document.writeln("sTenBien la mot so co gia tri la: " + sTenBien);
}
</script>
40. FCE-UIT-VNU.HCM
TS.V滴
40
畛i t動畛ng String
s1 = "foo" //creates a string literal value
s2 = new String("foo") //creates a String object
S畛 kh叩c bi畛t:
s1 = "2 + 2" //creates a string literal value
s2 = new String("2 + 2")//creates a String object
eval(s1) //returns the number 4
eval(s2) //returns the string "2 + 2"
45. Date
dateObjectName = new Date([parameters])
C叩c constructor
var dateObj = new Date()
var dateObj = new Date(dateVal)
var dateObj = new Date(year, month,
date[,hours[,minutes[,seconds[,ms]]]])
var dateObj = new Date(dateString)
V鱈 d畛:
var my_date=new Date("October 12, 1988 13:14:00")
var my_date=new Date("October 12, 1988")
var my_date=new Date(88,09,12,13,14,00)
var my_date=new Date(88,09,12)
today = new Date().
48. Window
T畛n t畉i khi m畛 1 ti li畛u HTML
S畛 d畛ng 畛 truy c畉p th担ng tin window
仰i畛u khi畛n c叩c s畛 ki畛n x畉y ra trong window
N畉u ti li畛u 畛nh ngh挑a nhi畛u frame,
browser t畉o 1 window object cha v c叩c
window object con cho t畛ng frame
49. Window methods
alert()
window.alert("How are you doing?");
prompt()
window.prompt("Please provide your name","optional text");
confirm()
window.confirm("Are you sure you want to do this?");
blur() - Move This Window to Back
focus() - Bring Main Window to Front
open()
window.open("URL", "window name", "attributes");
newWin=window.open("","","width=300,height=250");
50. Window methods
moveBy(): di chuy畛n c畉 window i
window.moveBy(xDistance,yDistance);
<form>
<input type="Button" value="Move Window"
onclick="window.moveBy(50,50);">
<input type="Button" value="Close Window" onclick="window.close();">
</form>
moveTo(): Di chuy畛n 畉n v畛 tr鱈 so v畛i g坦c mn h狸nh
(0,0)
window.moveTo(xDistance,yDistance);
resizeBy()
window.resizeBy(xSize,ySize);
resizeTo()
window.resizeTo(xWidth,yLength);
51. Window Object Event Handlers
<body onLoad="alert('This page has finished loading!)"
window.onload=functionName;
<body onUnload="alert('You're leaving so soon?)"
onResize
onError
onBlur
onFocus
C存c ch測ng trnh x旦 l箪 s湛 kin
onLoad - Xut hin khi c旦a s脱 kt th坦c vic t其i.
onUnLoad - Xut hin khi c旦a s脱 速樽c lo孫i b叩.
52. Document object
Document Object bi畛u di畛n cho ti li畛u
HTML
D湛ng 畛 l畉y th担ng tin v畛 ti li畛u, c叩c thnh
ph畉n HTML v x畛 l箪 s畛 ki畛n
Properties
aLinkColor
bgColor
Body
fgColor
linkColor
Location
Title
URL
vlinkColor
Methods
clear
close
open
write
writeln
53. History Object
History Object cung c畉p danh s叩ch c叩c
URL 達 動畛c duy畛t b畛i ng動畛i d湛ng
Methods
Back
Forward
go
History.go(-1) -- history.back()
History.go(+1) history.forward()
55. HTML Objects
M畛i form trong 1 document s畉 t畉o ra 1 畛i t動畛ng
form
1 document c坦 th畛 c坦 nhi畛u form, 動畛c l動u trong 1
forms array (b畉t 畉u t畛 form[0])
Truy c畉p 畉n form
document.forms[0]
document.formName
Truy c畉p 畉n c叩c thnh ph畉n c畛a form
document.forms[0].item[0].value
document.formName.InputName.value
57. N畛i dung
Gi畛i thi畛u v畛 Javascript
Nh炭ng Javascript vo trang web
Ki畛u d畛 li畛u & C叩c c炭 ph叩p Javascript
X畛 l箪 s畛 ki畛n
DOM HTML v畛i Javascript
V鱈 d畛
58. X畛 l箪 s畛 ki畛n Event Object
Events la c叩c s畛 ki畛n x畉y ra tr棚n trang Web
Do ng動畛i d湛ng ho畉c do h畛 th畛ng t畉o ra
M畛i s畛 ki畛n se li棚n quan 畉n m畛t event object
Cung c畉p th担ng tin v畛 event
Lo畉i event
V畛 tr鱈 con tr畛 t畉i th畛i i畛m x畉y ra s畛 ki畛n
73. HTML DOM
HTML DOM = HTML Document Object
Model
HTML DOM: la m畛t thanh ph畉n c畛a DOM
HTML DOM: Xem trang web nh動 m畛t c但y
g畛m nhi畛u node
M畛i node la m畛t thanh ph畉n:
tag HTML
thu畛c t鱈nh
n畛i dung c畛a tag
74. HTML DOM - C叩c lo畉i node
document node: the entire document
element node: HTML tag
text node: The text in the HTML element
attribute node: HTML attribute
comment node: comments
81. 畛i t動畛ng Window - DOM
La th畛 hi畛n c畛a 畛i t動畛ng c畛a s畛 tr狸nh duy畛t
T畛n t畉i khi m畛 1 tai li畛u HTML
S畛 d畛ng 畛 truy c畉p th担ng tin c畛a c叩c 畛i
t動畛ng tr棚n c畛a s畛 tr狸nh duy畛t ( t棚n tr狸nh
duy畛t, phi棚n b畉n tr狸nh duy畛t, thanh ti棚u 畛,
thanh tr畉ng th叩i )
N畉u tai li畛u 畛nh ngh挑a nhi畛u frame, browser
t畉o 1 window object cha va c叩c window
object con cho t畛ng frame
82. 畛i t動畛ng Window - DOM
Properties
document
event
history
location
name
navigator
screen
status
Methods
alert
confirm
prompt
blur
close
focus
open
83. 畛i t動畛ng Window - DOM
V鱈 d畛:
<html>
<body>
<script type="text/javascript">
var curURL = window.location;
window.alert(curURL);
</script>
</body>
</html>
84. DOM navigator Object
Cung c畉p th担ng tin v畛 tr狸nh duy畛t Browser
85. DOM location Object
Ch畛a th担ng tin v畛 URL hi畛n t畉i
87. 畛i t動畛ng Document - DOM
Bi畛u di棚n cho n畛i dung trang HTML ang
動畛c hi畛n th畛 tr棚n tr狸nh duy畛t
D湛ng 畛 l畉y th担ng tin v畛 ti li畛u, c叩c
thnh ph畉n HTML v x畛 l箪 s畛 ki畛n
88. 畛i t動畛ng Document - DOM
Properties
aLinkColor
bgColor
body
fgColor
linkColor
title
URL
vlinkColor
forms[]
images[]
childNodes[]
Methods
close
open
createTextNode( text ")
createElement(HTMLtag")
getElementById(id)
documentElement
cookie
94. 畛i t動畛ng Document - DOM
getElementById ( id1 )
Tr畉 v畛 node c坦 gi叩 tr畛 thu畛c t鱈nh id = id1
V鱈 d畛:
//<p id="id1" >
// some text
//</p>
var node = document.getElementById(id1);
var nodeName = node.nodeName; // p
var nodeType = node.nodeType; // 1
var nodeValue = node.nodeValue; // null
var text = node.innerText ; // some text
Text Node
103. DOM firstChild , lastChild, nextSibling , hasChildNode()
104. 畛i t動畛ng Document - DOM
innerHTML
Ch畛 畛nh n畛i dung HTML b棚n trong m畛t node.
V鱈 d畛:
//<p id=para1" >
// some text
//</p>
var theElement = document.getElementById("para1");
theElement.innerHTML = Some <b> new </b> text;
// K畉t qu畉 :
// <p id=para1 >
// Some <b> new <b/> text
// </p>
105. 畛i t動畛ng Document - DOM
innerText
T動董ng t畛 innerHTML, tuy nhi棚n b畉t k畛
n畛i dung no 動a vo c滴ng 動畛c xem
nh動 l text h董n l c叩c th畉 HTML.
V鱈 d畛:
var theElement = document.getElementById("para1");
theElement.innerText = Some <b> new </b> text;
// K畉t qu畉 hi畛n th畛 tr棚n tr狸nh duy畛t
// b棚n trong th畉 p: Some <b> new </b> text