https://www.youtube.com/channel/UCyZTnYDACl13tHjxCyvd3ew HTML 5 là phiên bản kế tiếp và là một phiên bản chuẩn mới.Phần lớn các trình duyệt đều hỗ trợ phần tử và giao diện lập trình ứng dụng (API Application Programming Interface) của HTML 5. HTML có khả năng mở rộng khi được sử dụng với JavaScript, hiển thị dữ liệu người dùng định nghĩa được yêu cầu mỗi khi trang web được tải trong trình duyệt.HTML động sử dụng JavaScript và CSS để làm cho các trang web trở lên động và chuyển đổi cảm quan (look and feelgiao diện) của các trang web.
Trang 1Bài 13:
Toán tử và Câu lệnh
NexTGen Web
Toán tử và Câu lệnh rẽ nhánh
Trang 2Mục tiêu bài học
Trang 3Khái niệm toán tử
giá trị hoặc phát sinh ra giá trị mới.
việc rẽ nhánh và cấu trúc lặp
• Toán tử một ngôi: Thao tác trên một toán hạng
• Toán tử hai ngôi: Thao tác trên hai toán hạng
• Toán tử ba ngôi: Thao tác trên ba toán hạng
Trang 4Các loại toán tử
Trang 5var interestAmount, totalAmount;
interestAmount = loanAmount * (interest / 100);
totalAmount = loanAmount + interestAmount;
document.write("<B>Total amount to be paid ($):</B>" +
totalAmount + "<BR />");
</SCRIPT>
Trang 6 Ví dụ
<SCRIPT>
var number = 3;
alert('Number after increment = ' + ++number);
alert('Number after decrement = ' + number );
</SCRIPT>
Trang 10Toán tử gán
• Toán tử gán đơn: là toán tử '=' dùng để gán giá trị hay biểu thức cho biến
• Toán tử gán phức hợp: là toán tử gán đơn đi cùng với một toán tử toán học Lấy giá trị của biến ra tính toán rồi gán trở lại biến đó
Trang 11Toán tử Bitwise
& (Bitwise AND) So sánh 2 bit, trả về 1 nếu cả hai là 1 ngược lại trả về 0
~ (Bitwise NOT) Đảo ngược một bit
| (Bitwise OR) So sánh 2 bit, trả về 1 nếu một trong 2 là 1 hoặc cả 2 là 1, còn lại trả về 0
Trang 12Toán tử đặc biệt
(condition) ? trueVal : falseVal
Gán một giá trị xác định vào một biến nếu điều kiện đúng, trường hợp còn lại thì gán vào biến còn lại
Trang 13Mức ưu tiên của toán tử
trong biểu thức đó
Trang 14Các câu lệnh điều kiện
Câu lệnh điều kiện được dùng để kiểm tra điều kiện Kết quả xác định câu lệnh hoặc khối lệnh được thực thi.
Các câu lệnh điều kiện bao gồm:
• if
• if…else
• if…else if…else
• switch
Trang 19câu lệnh;
} }
}
<SCRIPT>
var username = prompt(‘Enter Username:’);
var password = prompt(‘Enter Password:’);
if (username != “” && password != “”)
Trang 21Biểu thức quy tắc
• Các mẫu đơn giản
• Các ký tự đơn giản và ký tự đặc biệt
var re =/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,5})$/gi;
Trang 22Sử dụng biểu thức quy tắc
• Sử dụng khởi tạo đối tượng
• Gọi hàm khởi tạo của đối tượng RegExp()
• test(string) - So sánh một chuỗi cho khớp với một mẫu và trả về một giá trị Boolean true hoặc false Phương pháp này thường được sử dụng để xác nhận.
• exec(string) - Thực thi một chuỗi tìm kiếm mẫu phù hợp với bên trong nó Phương thức trả về một giá trị null, nếu mẫu không phải là được tìm thấy Trong trường hợp có nhiều giá trị khớp, nó sẽ trả
về tập kết quả khớp.
var tên_biến=/mẫu_biểu_thức/bổ_từ;
var tên_biến=new RegExp("mẫu_biểu_thức",bổ_từ)
Bổ từ Mô tả
i Không phân biệt chữ hoa chữ thường
g Thực hiện tìm tất cả các chuỗi con thỏa mãn mẫu_biểu_thức
m Thực hiện tìm trên nhiều dòng
Trang 23Khớp theo vị trí
^ Biểu thị sự bắt đầu của một chuỗi /^Good/ khớp với chuỗi con “Good” trong chuỗi “Good night”, nhưng
không khớp với chuỗi “A Good Eyesight”
$ Biểu thị kết thúc của một chuỗi /art$/ khớp với “art” trong chuỗi “Cart” nhưng không khớp với chuỗi
“artist”
\b
Khớp với một ranh giới từ(word boundary) Một
từ ranh giới bao gồm vị trí giữa một từ và khoảng trống
/ry\b/ khớp với chuỗi “ry” trong chuỗi “She is very good”
\B Ngược lại so với \b /\Ban/ khớp với “an” trong chuỗi “operand” khung không khớp trong
chuỗi “anomaly”
Trang 24Character Classes 1-2
[…] Khớp với một trong những ký tự được chỉ ra trong bộ ký tự được liệt
. Đại diện cho một ký tự bất kỳ, ngoại trừ kí tự xuống dòng mới và ký
tự ngắt dòng /s.t/ khớp với “sat”, “sit”, “set”, …
\w khớp với các kí tự chữ cái, chữ số và kí tự gạch dưới /\w/ khớp với “600” trong “600%”
Trang 25Character Classes 2-2
HTML5 / Toán tử và câu lệnh/ 25 of 27
\W Khớp các kí tự không phải là kí tự chữ, số, gạch dưới. /\W/
Matches “%” in “800%”
\d Khớp với các kí tự chữ số từ 0-9 /\d/
Matches “4” in “A4”
\D Khớp các kí tự không phải là kí tự số 0-9 /\D/
Matches “ID” in “ID 2246”
\s Khớp với một ký tự trắng đơn bao gồm cả khoảng trắng, tab,… /\s\w*/
Matches “ bar” in “scroll bar”
\S Ngược lại với \s /\S\w*/
Matches “scroll” in “scroll bar”
Trang 26Repetition
Trang 27Alternation và Grouping
• Bảng dưới đây liệt kê các thay đổi luân phiên và nhóm các biểu tượng ký tự khác nhau
Building Dynamic Web Sites / 27 of 27
() Tổ chức nhóm các ký tự lại với nhau trong một nhóm để xác
Trang 28Tham khảo lại (Back References)
Nhóm(Group) trong biểu thức quy tắc là việc coi nhiều kí tự như là một đơn vị duy nhất Các group được tạo ra bằng cách đặt các ký tự được cần nhóm lại vào trong cặp dấu ngoặc đơn - "()" Mỗi cặp dấu ngoặc đơn tương ứng với một nhóm
Backreferences thuận tiện, vì nó cho phép chúng ta lặp lại một mẫu(pattern) mà không cần viết lại nó Chúng ta chỉ có thể tham khảo nhóm(group)
đã được định nghĩa trước đó bằng cách sử dụng \# (# là số thứ tự của nhóm được đếm theo ngoặc đơn mở “(” từ trái qua phải)
HTML5 / Toán tử và câu lệnh/ 28 of 27
()\# So khớp với cặp ngoặc đơn trong
mẫu, trong đó # là số thứ tự cặp ngoặc đơn tính từ phía bên trái
<([a-zA-Z0-9]+)>.*</\1>
Ở trên thì ([a-zA-Z0-9]+) đại diện cho tên thẻ còn \1 chính là đại diện cho chính cái tên thẻ đó , nếu là thẻ <a> thì nó là chữ "a" và "\1" sẽ có
giá trị là a, vậy ở trên tại sao lại là "\1" , "\1" ở đây "\" là dấu hiệu báo hiệu của back references và số "1" là kí hiệu cho thứ tự của nhóm ký tự,
trong trường hợp này là [a-zA-Z0-9]+ trong dấu "()" , vậy trong trường hợp có nhiều dấu ngoặc đơn đóng thì ta làm thế nào, ví dụ (<([A-Z])
(\s+)([0-9])) Trong ví dụ trên thì