2. Giới thiệu về JavaScript
Lịch sử JavaScript
Mục đích của JavaScript
JavaScript và Browser
Chương trình JavaScript
Vị trí mã JavaScript
Sơ lược về mã JavaScript
IDE cho JavaScript
Hệ thống bài cũ
Giới thiệu về JavaScript
Lịch sử JavaScript
Mục đích của JavaScript
JavaScript và Browser
Chương trình JavaScript
Vị trí mã JavaScript
Sơ lược về mã JavaScript
IDE cho JavaScript
Biến và toán tử 2
3. Biến và khai báo biến
Kiểu dữ liệu
Ép kiểu
Toán tử
Cấu trúc điều khiển
Lệnh lựa chọn đơn
Debug
Mục tiêu bài học
Biến và khai báo biến
Kiểu dữ liệu
Ép kiểu
Toán tử
Cấu trúc điều khiển
Lệnh lựa chọn đơn
Debug
Biến và toán tử 3
5. Biến dùng để lưu trữ dữ liệu
Cú pháp
Cách đặt tên biến
Tên biến bao gồm chữ cái và số, nhưng tên biến không
được bắt đầu bằng số
Tên biến không bao gồm dấu cách và dấu câu, ngoại trừ
dấu gạch dưới (_)
Có thể khai báo nhiều biến trên một dòng
var x, y, zeta
Có thể vừa khai báo vừa khởi tạo giá trị cho biến
var x = 1
var x = 1, y = "hello"
Biến và khai báo biến
var tenbien
Biến dùng để lưu trữ dữ liệu
Cú pháp
Cách đặt tên biến
Tên biến bao gồm chữ cái và số, nhưng tên biến không
được bắt đầu bằng số
Tên biến không bao gồm dấu cách và dấu câu, ngoại trừ
dấu gạch dưới (_)
Có thể khai báo nhiều biến trên một dòng
var x, y, zeta
Có thể vừa khai báo vừa khởi tạo giá trị cho biến
var x = 1
var x = 1, y = "hello"
Biến và toán tử 5
6. JavaScript hỗ trợ những kiểu dữ liệu sau
Kiểu số
Kiểu chuỗi ký tự
Kiểu Boolean
Kiểu mảng
Object
Kiểu dữ liệu
JavaScript hỗ trợ những kiểu dữ liệu sau
Kiểu số
Kiểu chuỗi ký tự
Kiểu Boolean
Kiểu mảng
Object
Biến và toán tử 6
7. JavaScript không chia ra kiểu Double, Integer… như các
ngôn ngữ khác.
Java gộp lại thành một kiểu duy nhất là kiểu số
var 20
var 1.5
var 0xd
Kiểu số
JavaScript không chia ra kiểu Double, Integer… như các
ngôn ngữ khác.
Java gộp lại thành một kiểu duy nhất là kiểu số
var 20
var 1.5
var 0xd
Biến và toán tử 7
8. Demo sử dụng kiểu số
<html>
<head>
<title>Hexadecimal Numbers</title>
<script type="text/javascript">
var h = 0xe;
var i = 0x2;
var j = h * i;
alert(j);
</script>
</head>
<body>
<p>Chapter 4 Example</p>
</body>
</html>
Biến và toán tử 8
<html>
<head>
<title>Hexadecimal Numbers</title>
<script type="text/javascript">
var h = 0xe;
var i = 0x2;
var j = h * i;
alert(j);
</script>
</head>
<body>
<p>Chapter 4 Example</p>
</body>
</html>
9. isNAN()
Xác định xem tham số truyền vào có phải là số hay không
Nếu là số, trả về False
Nếu không phải là số, trả về True
alert(isNaN("4"))
alert(isNaN("four"))
Các hàm thao tác với kiểu số
isNAN()
Xác định xem tham số truyền vào có phải là số hay không
Nếu là số, trả về False
Nếu không phải là số, trả về True
alert(isNaN("4"))
alert(isNaN("four"))
Biến và toán tử 9
10. Javascript cung cấp đối tượng Math để thao tác với dữ
liệu kiểu số
Đối tượng Math
Phương thức Giải thích Ví dụ Kết quả
Math.random() Trả về số ngẫu nhiên
trong khoảng từ 0 đến 1
Math.abs(x) Trả về giá trị tuyệt đối
của x
Math.abs(-2) 2
Biến và toán tử 10
Math.abs(x) Trả về giá trị tuyệt đối
của x
Math.abs(-2) 2
Math.pow(x,y) Trả về giá trị của x mũ y Math.pow(2,3) 8
Math.round(x) Trả về giá trị làm tròn
của x
Math.round(2.6) 3
11. String được bao quanh bởi cặp dấu nháy kép
"Hello world"
Ký tự đặc biệt
alert("Hellot'hi'ngoodbye!")
Kiểu chuỗi ký tự
Ký tự Giải thích
' '
" "
b Dấu cách
String được bao quanh bởi cặp dấu nháy kép
"Hello world"
Ký tự đặc biệt
alert("Hellot'hi'ngoodbye!")
Biến và toán tử 11
b Dấu cách
t Dấu tab
n Xuống dòng
12. Thuộc tính length
var x = "Toi la String."; alert(x.length)
Phương thức subString
var x = "Toi la String."; alert(x.subString(0,3))
Các thuộc tính và
phương thức của String
Thuộc tính length
var x = "Toi la String."; alert(x.length)
Phương thức subString
var x = "Toi la String."; alert(x.subString(0,3))
Biến và toán tử 12
13. Phương thức concat
Phương thức toUpperCase
Phương thức toUpperCase
Các thuộc tính và
phương thức của String
var firstString = " Day la mot xau ky tu "
var finalString = firstString.concat(" Them mot xau ky tu nua ")
alert(finalString)
var firstString = " Day la mot xau ky tu "
var finalString = firstString.toUpperCase()
alert(finalString)
Phương thức concat
Phương thức toUpperCase
Phương thức toUpperCase
Biến và toán tử 13
var firstString = " Day la mot xau ky tu "
var finalString = firstString.toUpperCase()
alert(finalString)
var firstString = " Day la mot xau ky tu "
var finalString = firstString.toLowerCase()
alert(finalString)
14. Kiểu Boolean có hai giá trị là true và false
Các biểu thức Boolean thường được sử dụng trong các
cấu trúc điều khiển
Kiểu Boolean
if (x > 18) {
alert("Hi")
}
Biến và toán tử 14
if (x > 18) {
alert("Hi")
}
15. Mảng là kiểu dữ liệu dùng để lưu một tập các dữ liệu có
kiểu giống nhau
Cú pháp khai báo và gán giá trị cho mảng
Cách thứ nhất
Cách thứ hai
Mảng
var convat = new Array()
convat[0] = "meo"
convat[1]= "ho"
convat[2] = "voi"
Mảng là kiểu dữ liệu dùng để lưu một tập các dữ liệu có
kiểu giống nhau
Cú pháp khai báo và gán giá trị cho mảng
Cách thứ nhất
Cách thứ hai
Cấu trúc điều khiển, hàm và xử lý sự kiện 15
var convat = new Array()
convat[0] = "meo"
convat[1]= "ho"
convat[2] = "voi"
var convat = new Array("meo", "ho", "voi");
16. Giá trị Null
Null nghĩa là không gì cả
var x = null nghĩa là x không tham chiếu đến đâu cả
var x = null khác với var x = ""
Kiểu Undefined
Chưa xác định giá trị
Giá trị Null và Undefined
Giá trị Null
Null nghĩa là không gì cả
var x = null nghĩa là x không tham chiếu đến đâu cả
var x = null khác với var x = ""
Kiểu Undefined
Chưa xác định giá trị
Biến và toán tử 16
var x
alert(x)
17. Ép kiểu ngầm định
Trình thông dịch tự động chuyển kiểu
Ép kiểu
var x = 100
alert(“Hello” + x)
Biến và toán tử 17
18. Ép kiểu tường minh
Ép kiểu số thành chuỗi
Ép kiểu chuỗi thành số
Ép kiểu
var x = String(100)
alert(typeof(x))
var x = “100”
var y = Number(x)
alert(typeof(y))
Biến và toán tử 18
var x = “100”
var y = Number(x)
alert(typeof(y))
19. Toán tử số học
Toán tử logic
Toán tử
Toán tử Giải thích
+ Cộng
- Trừ
* Nhân
/ Chia
% Chia lấy dư
Toán tử số học
Toán tử logic
Biến và toán tử 19
% Chia lấy dư
Toán tử Giải thích
& Và
| Hoặc
^ XOR
! NOT
20. Toán tử quan hệ và toán tử bằng
Toán tử
Toán tử Giải thích
> Lớn hơn
< Bé hơn
>= Lớn hơn hoặc
bằng
<= Bé hơn hoặc bằng
Biến và toán tử 20
<= Bé hơn hoặc bằng
== Bằng
!= Khác
21. Toán tử một ngôi
Toán tử
Toán tử Giải thích
+ Chuyển toán hạng
sang số dương
- Chuyển toán hạng
sang số âm
Biến và toán tử 21
Chuyển toán hạng
sang số âm
++ Tăng
-- Trừ
22. Toán tử tăng và toán tử giảm
var x = 4;
x++;
alert (x);
Biến và toán tử 22
23. Sự khác nhau giữa ++x và x++
Toán tử tăng và toán tử giảm
var x = 4;
var y = ++x;
alert ("x = "+x+" y ="+y);
var x = 4;
var y = x++;
alert ("x = "+x+" y ="+y);
Biến và toán tử 23
24. Dùng để lấy dữ liệu do người dùng nhập vào
Hàm trả về giá trị mà người dùng đã nhập
Mã này sẽ lấy dữ liệu do người dùng nhập vào và hiển
thị
Hàm Prompt
var x = prompt();
alert (x)
Dùng để lấy dữ liệu do người dùng nhập vào
Hàm trả về giá trị mà người dùng đã nhập
Mã này sẽ lấy dữ liệu do người dùng nhập vào và hiển
thị
Biến và toán tử 24
Cửa sổ cho người
dùng nhập thông tin Hiển thị giá trị người
dùng đã nhập
26. Cấu trúc tuần tự
Cấu trúc lựa chọn
Cấu trúc lặp
Cấu trúc điều khiển
Biến và toán tử 26
27. Lệnh lựa chọn đơn
Lệnh lựa chọn kép
Lệnh đa lựa chọn
Lệnh lựa chọn
Biến và toán tử 27
28. Cú pháp
Các trường hợp
Lệnh lựa chọn đơn
if (điều_kiện) {
//Thực hiện
}
var x = 3
var y = 4
if (x == y) {
//Thực
hiện
}
Biến và toán tử 28
if (! điều_kiện) {
//Thực
hiện
}
if (x < 350) {
//Thực
hiện
}
var x = 3
var y = 4
if (x == y) {
//Thực
hiện
}
29. Ví dụ lệnh lựa chọn If…Then
var x = prompt("Hay nhap vao so be hon 100:");
if (x >= 100)
{
alert("Ban vua nhap gia tri la: " + x + ", gia tri nay khong
be hon 100");
}
Biến và toán tử 29
var x = prompt("Hay nhap vao so be hon 100:");
if (x >= 100)
{
alert("Ban vua nhap gia tri la: " + x + ", gia tri nay khong
be hon 100");
}
30. Dùng toán tử logic để kết hợp nhiều mệnh đề đơn
thành một mệnh đề phức tạp hơn
Điều kiện phức tạp
var x = prompt("Hay nhap vao so be hon 100 va lon hon 50:");
if ((x < 51) || (x > 99)) {
document.write("<h1>Ban vua nhap gia tri la: " + x + "</h1>");
document.write("<h2>Gia tri nay khong nam trong khoang tu 50
den 100</h2>");
}
Biến và toán tử 30
var x = prompt("Hay nhap vao so be hon 100 va lon hon 50:");
if ((x < 51) || (x > 99)) {
document.write("<h1>Ban vua nhap gia tri la: " + x + "</h1>");
document.write("<h2>Gia tri nay khong nam trong khoang tu 50
den 100</h2>");
}
31. Công cụ gỡ lỗi giúp người lập trình tìm và sửa lỗi (bao
gồm lỗi logic và lỗi biên dịch)
Vì mã JavaScript được thông dịch trên trình duyệt, nên
mỗi trình duyệt sẽ xây dựng bộ gỡ lỗi riêng.
IE:
Microsoft Script Debugger (Debug ngay trên trình duyệt IE)
Visual Studio
FireFox
FireBug
Công cụ gỡ lỗi
Công cụ gỡ lỗi giúp người lập trình tìm và sửa lỗi (bao
gồm lỗi logic và lỗi biên dịch)
Vì mã JavaScript được thông dịch trên trình duyệt, nên
mỗi trình duyệt sẽ xây dựng bộ gỡ lỗi riêng.
IE:
Microsoft Script Debugger (Debug ngay trên trình duyệt IE)
Visual Studio
FireFox
FireBug
Biến và toán tử 31
33. Sử dụng Visual studio để gỡ lỗi
Mở file bằng IE: Click vào file Chọn Open With Chọn
Internet Explorer Visual studio tự động chuyển sang
chế độ gỡ lỗi
Gỡ lỗi cho IE
Biến và toán tử 33
34. Vào trang web http://www.getfirebug.com
Nhấn vào Button Install FireBug
Download bản FireBug phù hợp với version của Firefox
đang sử dụng
Demo cài đặt FireBug
Biến và toán tử 34
Firebug đã được cài đặt
35. Bật chế độ firebug
Mở firefox
Bật chế độ firebug bằng cách nhấn vào biểu tượng firebug
hoặc vào từ Menu của FireFox như hình bên
Demo sử dụng FireBug để gỡ lỗi
Biểu tượng FireBug
Bật chế độ firebug
Mở firefox
Bật chế độ firebug bằng cách nhấn vào biểu tượng firebug
hoặc vào từ Menu của FireFox như hình bên
Biến và toán tử 35
Cửa sổ FireBug xuất hiện
36. Bật chế độ Console để gỡ lỗi: Nhấn vào mũi tên bên
phải console, chọn Enable
Demo sử dụng FireBug để gỡ lỗi
Biến và toán tử 36
37. Gỡ lỗi
Mở trang scopping.html
Demo sử dụng FireBug để gỡ lỗi
Biến và toán tử 37
Cử sổ thông báo lỗi Lỗi ở dòng 21
38. Nhấn vào lỗi để hiển thị đoạn mã bị lỗi
Demo sử dụng FireBug để gỡ lỗi
Biến và toán tử 38
Cử sổ thông báo lỗi
39. BTVN: Tìm hiểu các gỡ lỗi trực tiếp trên IE bằng
Microsoft Script Debugger
Gỡ lỗi bằng Microsoft Script Debugger
Biến và toán tử 39
40. JavaScript hỗ trợ các kiểu biến: Kiểu số, kiểu String,
kiểu Boolean và kiểu Object
Kiểu mảng để lưu các dữ liệu cùng kiểu với nhau
JavaScript hỗ trợ giá trị null và undefined. Null nghĩa
là biến không tham chiếu đến đâu cả, còn undefined
nghĩa là biến chưa xác định
JavaScript cũng có hai kiểu ép kiểu: Ép kiểu tường
minh và ép kiểu ngầm định
Biến được khai báo bằng từ khóa var, theo sau là tên
biến
JavaScript hỗ trợ các toán tử logic, toán tử số học,
toán tử quan hệ và toán tử một ngôi
Tổng kết bài học
JavaScript hỗ trợ các kiểu biến: Kiểu số, kiểu String,
kiểu Boolean và kiểu Object
Kiểu mảng để lưu các dữ liệu cùng kiểu với nhau
JavaScript hỗ trợ giá trị null và undefined. Null nghĩa
là biến không tham chiếu đến đâu cả, còn undefined
nghĩa là biến chưa xác định
JavaScript cũng có hai kiểu ép kiểu: Ép kiểu tường
minh và ép kiểu ngầm định
Biến được khai báo bằng từ khóa var, theo sau là tên
biến
JavaScript hỗ trợ các toán tử logic, toán tử số học,
toán tử quan hệ và toán tử một ngôi
Biến và toán tử 40
41. JavaScript cung cấp 3 cấu trúc điều khiển: Cấu trúc
tuần tự, cấu trúc lựa chọn và cấu trúc lặp
Cấu trúc lặp gồm lệnh lựa chọn đơn (if)
Vì mã JavaScript được thông dịch trên trình duyệt, nên
mỗi trình duyệt sẽ xây dựng bộ gỡ lỗi riêng.
FireBug gỡ lỗi cho FireFox, Microsoft Script
Debugger gỡ lỗi cho IE. Visual Studio tích hợp bộ gỡ lỗi
cho IE
Tổng kết bài học
JavaScript cung cấp 3 cấu trúc điều khiển: Cấu trúc
tuần tự, cấu trúc lựa chọn và cấu trúc lặp
Cấu trúc lặp gồm lệnh lựa chọn đơn (if)
Vì mã JavaScript được thông dịch trên trình duyệt, nên
mỗi trình duyệt sẽ xây dựng bộ gỡ lỗi riêng.
FireBug gỡ lỗi cho FireFox, Microsoft Script
Debugger gỡ lỗi cho IE. Visual Studio tích hợp bộ gỡ lỗi
cho IE
Biến và toán tử 41