•
Đăt Script trong phần head: Script được thực thi khi chúng được gọi hoặc khi có
một sự kiện được trigger thì sẽ đặt script ở phần head. Khi đặt script ở phần head, điều
này sẽ đảm bảo rằng, script được nạp trước khi sử dụng nó.
•
Đặt Script trong phần body: script được thư thi khi một trang nạp. Khi đặt ở phần này,
scipt sinh ra nội dung của trang.
•
Đăt Script trong cả phần body và phần head: Có thể đặt không giới hạn số script trong
tài liệu, có thể đặt ở phần body và phần head.
Thỉnh thoảng, muốn chạy cùng một đoạn script cho nhiều trang, để không phải viết lại đoạn
mã trong từng trang đó, có thể viết đoạn mã đó trong một tệp riêng với phần mở rộng là “.js”.
Ví dụ viết cậu lệnh dưới đây và lưu trong tệp xxx.js:
document.write("Script chứa ở tệp riêng biệt ")
Để sử dụng tệp này, sử dụng thuộc tính “src”
50
4.2. Ngôn ngữ kịch bản JavaScript
4.2.1 Kiểu dữ liệu
- Kiểu dữ liệu số:
•
Số nguyên: biễu diễn từ -253 tới -253
•
Số thực:
- Kiểu văn bản (chuỗi): bắt đầu bằng dấu (“) hoặc (‘)
Ví dụ: “Hello World” , ‘Hello World’, “Peter O’Toole” , “Peter O\’Toole”, 'Hello "Paul"',
"Hello "Paul"", "Hello \"Paul\""
Ngoài ra còn có các kiểu kí tự đặc biệt sau đây:
Kí tự đăc biệt
Kí tự đại diện
\b
Phím lùi
\f
Form feed
\n
Dòng mới
\r
Phím xuống dòng
\t
Tab
\'
Nháy đơn
\"
Nháy kép
\\
Dấu chéo ngược
\xNN
NN là số hexa xác định kí tự trong tập kí tự Latin-1
- Kiểu Boolean: Có 2 giá trị Yes hoặc No, True hoặc False
4.2.2 Khai báo biến
Biến là những đại lượng mà giá trị của nó có thể thay đổi trong quá trình xử lý. Trong toán
học, biến thường được dùng để lưu trữ các con số, còn trong tin học biến thường được dùng
để lưu trữ thông tin.
a. Cách đặt tên biến
•
Tên biến phân biệt chữ hoa và chữ thường
•
Tên biến bắt đầu bằng kí tự hoặc dấu gạch dưới character
•
Không được có khoảng trắng giữa các kí tự
51
b. Khai báo biến
Sử dụng từ khóa var để khai báo 1 biến:
var strname = giá trị
Hoặc không cần dùng từ khóa var
strname = some value
c. Gán giá trị cho biến
var strname = "Hege"
Hoặc:
strname = "Hege"
d. Thời gian sống của biến
Khi miêu tả biến trong hàm, biến có thể được truy cập bên trong hàm đó. Khi thoát khỏi hàm,
biến cũng được giải phóng. Biến này như được gọi là biến cục bộ.
Nếu khai báo biến bên ngoài hàm, tất cả các hàm trong trang có thể truy cập tới biến này. Thời
gian sống của biến này bắt đầu từ khi ta khai báo và kết thúc khi trang được đóng. Biến này
được gọi là biến toàn cục.
4.2.3. Các toán tử JavaScript
a. Các Toán tử số học
Toán tử
Miêu tả
+
Cộng
-
Trừ
*
Nhân
/
Chia
%
Modulus (phần dư)
++
Tăng
--
Giảm
Ví dụ
x=2
x+2
x=2
5-x
x=4
x*5
15/5
5/2
5%2
10%8
10%2
x=5
x++
x=5
x--
Kết quả
4
3
20
3
2.5
1
2
0
x=6
x=4
b. Các toán tử gán
Toán tử
=
+=
-=
*=
Ví dụ
x=y
x+=y
x-=y
x*=y
Diễn giải
x=y
x=x+y
x=x-y
x=x*y
52
/=
%=
x/=y
x%=y
x=x/y
x=x%y
c. Các toán tử so sánh
Toán tử
==
!=
>
<
>=
<=
Miêu tả
Bằng
Không bằng
Lớn hơn
Nhỏ hơn
Lớn hơn hoặc bằng
Nhỏ hơn hoặc bằng
Ví dụ
5==8 trả về giá trị false
5!=8 trả về giá trị true
5>8 trả về giá trị false
5<8 trả về giá trị true
5>=8 trả về giá trị false
5<=8 trả về giá trị true
d. Các toán tử logic
Toán tử
&&
Miêu tả
Và
||
Hoặc
!
Phủ định
Ví dụ
x=6
y=3
(x < 10 && y > 1) trả về giá trị true
x=6
y=3
(x==5 || y==5) trả về giá trị false
x=6
y=3
!(x==y) trả về giá trị true
e. Toán tử chuỗi
txt1="What a very"
txt2="nice day!"
txt3=txt1+txt2
Ví dụ:
f.Chuyển đổi kiểu:
Để chuyển đổi kiểu dữ liệu, Javascript hỗ trợ hai hàm sau
•
Hàm parseInt(): chuyển chuỗi sang số nguyên
•
Eg: parseInt(“123”) = 123; parseInt(“1234abc”) = 1234
Hàm parseFloat(): chuyển chuỗi sang số thực
53
Ví dụ:
Kết quả:
"56.02 degrees centigrade" is 56 as an integer
"56.02 degrees centigrade" when converted to an integer equals 56
"56.02 degrees centigrade" when converted to a floating point number equals 56.02
Trong một số trường hợp, một số chuỗi không thể chuyển đổi thành số ví dụ như các chuỗi
không chứa bất kì một số nào cả. Chuyện gì xảy ra nếu chúng ta chuyển đổi chuỗi đó.
Ví dụ:
Kết quả:
"degrees centigrade" is NaN as an integer
"degrees centigrade" when converted to an integer equals NaN
"degrees centigrade" when converted to a floating point number equals NaN
NaN: not a number
NaN là giá trị được trả về bởi hàm isNaN(). NaN chỉ nhận một trong 2 giá trị True hoặc False
Ví dụ:
myVar1 = isNaN(“Hello”);. Giá trị NaN = False
54
myVar2 = isNaN(“123”);. Giá trị NaN = True
4.2.4. Các câu lệnh rẽ nhánh và lặp
Trong JavaScript có 3 câu lệnh điều kiện
•
if câu lệnh
•
if...else câu lệnh
•
switch câu lệnh
a. Câu lệnh If and If...else câu lệnh
Cú pháp câu lệnh if
if (điều kiện)
{
Câu lệnh thực hiện nếu điều kiện đúng
}
Ví dụ
Cú pháp câu lệnh If..else
if (điều kiện)
{
Câu lệnh thực hiện nếu điều kiện đúng
}else
{
Câu lệnh thực hiện nếu điều kiện sai
}
Ví dụ:
Cú pháp câu lệnh If..else if
if (điều kiện)
{
Câu lệnh thực hiện nếu điều kiện đúng
}else if (điều kiện)
{
Câu lệnh thực hiện nếu điều kiện sai
} ……
Else
{
}
Ví dụ:
if (myAge >= 0 && myAge <= 10)
{
document.write("myAge is between 0 and 10");
}
else if ( (myAge >= 30 && myAge <= 39) || (myAge >= 80 && myAge <= 89) )
{
document.write("myAge is between 30 and 39 " +
"or myAge is between 80 and 89");
}
56
else
{
document.write("myAge is NOT between 0 and 10, " +
"nor is it between 30 and 39, nor is it between 80 and 89");
}
b. Cậu lệnh rẽ nhánh
Cú pháp
switch (biểu thức)
{
case nhãn1:
Mã được thực hiện nếu biểu thức = nhãn1
break
case label2:
Mã được thực hiện nếu biểu thức = nhãn2
break
default:
Mã được thực hiện nếu biểu thức khác với nhãn1 và nhãn2
}
Ví dụ:
c. Toán tử điều kiện
JavaScript chứa toán tử điều kiện gán giá trị cho biến dựa vào một vài điều kiện
Cú pháp
variablename=(điều kiện)?giá trị 1: giá trị 2
Ví dụ
Greeting=(visitor=="PRES")?"Dear President ":"Dear "
57
d. Vòng lặp
•
while
Câu lệnh while sẽ thực hiện các câu lệnh đến khi nào điều kiện đúng
while (điều kiện)
{
Mã thực thi
}
Ví dụ:
Explanation:
i equal to 0.
While i is less than , or equal to, 5, the loop will continue to run.
i will increase by 1 each time the loop runs.
•
do...while
Câu lệnh while sẽ thực hiện các câu lệnh đến khi nào điều kiện đúng
Do
{
Mã thực thi
}
while (điều kiện)
Ví dụ:
Explanation:
i equal to 0.
58
The loop will run
i will increase by 1 each time the loop runs.
While i is less than , or equal to, 5, the loop will continue to run.
•
for
Câu lệnh for thực hiện với số lần cho trước
for (giá trị khởi tạo; điều kiện; tăng)
{
Mã thực thi
}
Ví dụ 1
Explanation:
The for loop sets i equal to 0.
As long as i is less than , or equal to, 5, the loop will continue to run.
i will increase by 1 each time the loop runs.
var loopCounter;
for (loopCounter = 1; loopCounter <= 3; loopCounter++)
59
Trong một số trường hợp lấy giá trị của các phần tử trong mảng mà không quan tâm tới chỉ
mạng mảng, chúng ta có thể sủ dụng vòng lặp for với cú pháp như sau:
for (chỉ sổ in tênmảng)
{
Câu lệnh
}
Ví dụ:
var myArray = new Array("Paul","Paula","Pauline");
var loopCounter;
for (loopCounter = 0; loopCounter < 3; loopCounter++)
{
document.write(myArray[loopCounter]);
}
var elementIndex;
for (elementIndex in myArray)
{
document.write(myArray[elementIndex]);
}
Các câu lệnh break và continue