20. JavaScript 20
Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
3.1.6. new
BiÕn new ®−îc thùc hiÖn ®Ó t¹o ra mét thÓ hiÖn míi cña mét ®èi t−îng
Có ph¸p
objectvar = new object_type ( param1 [,param2]... [,paramN])
VÝ dô sau t¹o ®èi t−îng person cã c¸c thuéc tÝnh firstname, lastname, age, sex. Chó ý r»ng tõ
kho¸ this ®−îc sö dông ®Ó chØ ®èi t−îng trong hµm person. Sau ®ã ba thÓ hiÖn cña ®èi t−îng
person ®−îc t¹o ra b»ng lÖnh new
<HTML>
<HEAD>
<TITLE>New Example </TITLE>
<SCRIPT LANGUAGE= "JavaScript">
function person(first_name, last_name, age, sex){
this.first_name=first_name;
this.last_name=last_name;
this.age=age;
this.sex=sex;
}
person1= new person("Thuy", "Dau Bich", "23", "Female");
person2= new person("Chung", "Nguyen Bao", "24", "Male");
person3= new person("Binh", "Nguyen Nhat", "24", "Male");
person4= new person("Hoµn", "§ç V¨n", "24", "Male");
H×nh 5.2: KÕt qu¶ cña lÖnh for...in
21. JavaScript 21
Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
document.write ("1. "+person1.last_name+" " + person1.first_name +
"<BR>" );
document.write("2. "+person2.last_name +" "+ person2.first_name +
"<BR>");
document.write("3. "+ person3.last_name +" "+ person3.first_name +
"<BR>");
document.write("4. "+ person4.last_name +" "+
person4.first_name+"<BR>");
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
3.1.7. this
Tõ kho¸ this ®−îc sö dông ®Ó chØ ®èi t−îng hiÖn thêi. §èi t−îng ®−îc gäi th−êng lµ ®èi t−îng hiÖn
thêi trong ph−¬ng thøc hoÆc trong hµm.
Có ph¸p
this [.property]
Cã thÓ xem vÝ dô cña lÖnh new.
H×nh 5.3: KÕt qu¶ cña vÝ dô lÖnh New
22. JavaScript 22
Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
3.1.8. with
LÖnh nµy ®−îc sö dông ®Ó thiÕt lËp ®èi t−îng ngÇm ®Þnh cho mét nhãm c¸c lÖnh, b¹n cã thÓ sö dông
c¸c thuéc tÝnh mµ kh«ng ®Ò cËp ®Õn ®èi t−îng.
Có ph¸p
with (object)
{
// statement
}
VÝ dô:
VÝ dô sau chØ ra c¸ch sö dông lÖnh with ®Ó thiÕt lËp ®èi t−îng ngÇm ®Þnh lµ document vµ cã thÓ sö
dông ph−¬ng thøc write mµ kh«ng cÇn ®Ò cËp ®Õn ®èi t−îng document
<HTML>
<HEAD>
<TITLE>With Example </TITLE>
<SCRIPT LANGUAGE= "JavaScript">
with (document){
write(“This is an exemple of the things that can be done
<BR>”);
write(“With the <B>with<B> statment. <P>”);
write(“This can really save some typing”);
}
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
H×nh 5.4: KÕt qu¶ cña vÝ dô lÖnh with
23. JavaScript 23
Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
C¸c hµm (Functions)
JavaScript còg cho phÐp sö dông c¸c hµm. MÆc dï kh«ng nhÊt thiÕt ph¶i cã, song c¸c hµm cã thÓ cã
mét hay nhiÒu tham sè truyÒn vµo vµ mét gi¸ trÞ tr¶ vÒ. Bëi v× JavaScript lµ ng«n ng÷ cã tÝnh ®Þnh
kiÓu thÊp nªn kh«ng cÇn ®Þnh nghÜa kiÓu tham sè vµ gi¸ trÞ tr¶ vÒ cña hµm. Hµm cã thÓ lµ thuéc tÝnh
cña mét ®èi t−îng, trong tr−êng hîp nµy nã ®−îc xem nh− lµ ph−¬ng thøc cña ®èi t−îng ®ã.
LÖnh function ®−îc sö dông ®Ó t¹o ra hµm trong JavaScript.
Có ph¸p
function fnName([param1],[param2],...,[paramN])
{
//function statement
}
VÝ dô:
VÝ dô sau minh ho¹ c¸ch thøc t¹o ra vµ sö dông hµm nh− lµ thµnh viªn cña mét ®èi t−îng. Hµm
printStats ®−îc t¹o ra lµ ph−¬ng thøc cña ®èi t−îng person
<HTML> <HEAD>
<TITLE>Function Example </TITLE>
<SCRIPT LANGUAGE= "JavaScript">
function person(first_name, last_name, age, sex)
{
this.first_name=first_name;
this.last_name=last_name;
this.age=age;
this.sex=sex;
this.printStats=printStats;
}
function printStats() {
with (document) {
write (" Name :" + this.last_name + " " + this.first_name +
"<BR>" );
write("Age :"+this.age+"<BR>");
write("Sex :"+this.sex+"<BR>");
}
}
person1= new person("Thuy", "Dau Bich", "23", "Female");
person2= new person("Chung", "Nguyen Bao", "24", "Male");
person3= new person("Binh", "Nguyen Nhat", "24", "Male");
person4= new person("Hoan", "Do Van", "23", "Male");
person1.printStats();
person2.printStats();
person3.printStats();
person4.printStats();
</SCRIPT>
33. JavaScript 33
Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
c. <INPUT TYPE=textarea onLoad="doSomething();">
d. <BODY onUnload="doSomething();">
e. <FORM onLoad="doSomething();">
f. <FORM onSubmit="doSomething();">
4. §iÒu g× x¶y ra khi thùc hiÖn script sau:
<HTML>
<HEAD>
<TITLE>Exercise 5.4</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!-- HIDE FROM OTHER BROWSERS
var name = "";
function welcome() {
name = prompt("Welcome to my page! What's Your
Name?","name");
}
function farewell() {
alert("Goodbye " + name + ". Thanks for visiting my page.");
}
// STOP HIDING FROM OTHER BROWSERS -->
</SCRIPT>
</HEAD>
<BODY onLoad="welcome();" onUnload="farewell();";>
This is my page!
</BODY>
</HTML>
5. Sö dông vßng lÆp while ®Ó m« pháng c¸c vßng lÆp for sau:
a.
for (j = 4; j > 0; j --) {
document.writeln(j + "<BR>");
}
b.
for (k = 1; k <= 99; k = k*2) {
k = k/1.5;
}
c.
for (num = 0; num <= 10; num ++) {
if (num == 8)
break;
}
3.1.13. Tr¶ lêi
1. Sö dông c¸ch thøc confirm() vµ cÊu tróc if...then:
34. JavaScript 34
Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
<HTML>
<HEAD>
<TITLE>Execise 5.1</TITLE>
<HEAD>
<BODY>
<P>
<SCRIPT LANGUAGE="JavaScript">
var conf=confirm("Click OK to see a wellcome message!")
if (conf){
document.write("<IMG SRC='wellcome.jpg'>");
document.write("<BR>Wellcome you come to CSE's class");
}
else
document.write("What a pity! You have just click Cancel
button");
</SCRIPT>
</P>
</BODY>
</HTML>
2. Thùc hiÖn hái ng−êi sö dông:
<HTML>
<HEAD>
<TITLE>Exercise 3.3</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!-- HIDE FROM OTHER BROWSERS
// DEFINE VARIABLES FOR REST OF SCRIPT
var question="What is 10+10?";
var answer=20;
var correct='CORRECT';
var incorrect='INCORRECT';
// ASK THE QUESTION
var response = prompt(question,"0");
// chECK THE ANSWER THE FIRST TIME
if (response != answer) {
// THE ANSWER WAS WRONG: OFFER A SECOND chAncE
if (confirm("Wrong! Press OK for a second chance."))
response = prompt(question,"0");
} else {
// THE ANSWER WAS RIGHT: OFFER A SECOND QUESTION
if (confirm("Correct! Press OK for a second question.")) {
question = "What is 10*10?";
answer = 100;
response = prompt (question,"0");