sử dụng javascript


Nhúng mã javascript trong trang HTML

Bạn có thể nhúng JavaScript vào một file HTML theo một trong các cách sau đây:

  • Sử dụng các câu lệnh và các hàm trong cặp thẻ
  • Sử dụng các file nguồn JavaScript
  • Sử dụng một biểu thức JavaScript làm giá trị của một thuộc tính HTML
  • Sử dụng thẻ sự kiện (event handlers) trong một thẻ HTML nào đó

Trong đó, sử dụng cặp thẻ SCRIPT>…SCRIPT> và nhúng một file nguồn JavaScript là được sử dụng nhiều hơn cả.

Sử dụng thẻ SCRIPT

Script được đưa vào file HTML bằng cách sử dụng cặp thẻ SCRIPT> và SCRIPT>. Các thẻ có thể xuất hiện trong phần hay của file HTML. Nếu đặt trong phần , nó sẽ được tải và sẵn sàng trước khi phần còn lại của văn bản được tải.

Chú ý:Ghi chú không được đặt trong cặp thẻ như ghi chú trong file HTML. Cú pháp của JavaScript tương tự cú pháp của C nên có thể sử dụng // hay /* … */.Thuộc tính duy nhất được định nghĩa hiện thời cho thẻ SCRIPT> là “LANGUAGE=“ dùng để xác định ngôn ngữ script được sử dụng. Có hai giá trị được định nghĩa là “JavaScript” và “VBScript”. Với chương trình viết bằng JavaScript bạn sử dụng cú pháp sau :

SCRIPT LANGUAGE=”JavaScript”>

// INSERT ALL JavaScript HERE

Điểm khác nhau giữa cú pháp viết các ghi chú giữa HTML và JavaScript là cho phép bạn ẩn các mã JavaScript trong các ghi chú của file HTML, để các trình duyệt cũ không hỗ trợ cho JavaScript có thể đọc được nó như trong ví dụ sau đây:

<SCRIPT LANGUAGE=”JavaScript”>

<!– From here the JavaScript code hidden

// INSERT ALL JavaScript HERE

// This is where the hidden ends –>

</SCRIPT>

Dòng cuối cùng của script cần có dấu // để trình duyệt không diễn dịch dòng này dưới dạng mã JavaScript. Các ví dụ trong chương này không chứa đặc điểm ẩn của JavaScript để mã có thể dễ hiểu hơn.

Sử dụng một file nguồn JavaScript

Thuộc tính SRC của thẻ <SCRIPT> cho phép bạn chỉ rõ file nguồn JavaScript được sử dụng (dùng phương pháp này hay hơn nhúng trực tiếp một đoạn lệnh JavaScript vào trang HTML).

Cú pháp:

<SCRIPT SRC=”file_name.js”>

….

</SCRIPT>

Chú ýKhi bạn muốn chỉ ra một xâu trích dẫn trong một xâu khác cần sử dụng dấu nháy đơn ( ‘ ) để phân định xâu đó. Điều này cho phép script nhận ra xâu ký tự đó.Thuộc tính này rấy hữu dụng cho việc chia sẻ các hàm dùng chung cho nhiều trang khác nhau. Các câu lệnh JavaScript nằm trong cặp thẻ <SCRIPT> và </SCRIPT> có chứa thuộc tinh SRC trừ khi nó có lỗi. Ví dụ bạn muốn đưa dòng lệnh sau vào giữa cặp thẻ http://…:

document.write(“Không tìm thấy file JS đưa vào!”);

Thuộc tính SRC có thể được định rõ bằng địa chỉ URL, các liên kết hoặc các đường dẫn tuyệt đối, ví dụ:

http://cse.com.vn

</body>

</html>

Lưu đoạn mã trên vào file dưới dạng HTML, chạy thử và nó sẽ xuất kết quả như sau:

Code:

Hello World!

Trong ví dụ trên, document là đối tượng tài liệu thể hiện cho trang HTML đang được thực thi, phương thức write() cho phép chúng ta xuất dữ liệu ra trang.

Bên ngoài trang

Để việc sử dụng javascript hiệu quả, mã javascript sẽ được đưa vào 1 file dạng js. Từ đó nó có thể sử dụng cho tất cả các trang web mà không cần phải viết lại cho từng trang.

Bạn sử dụng cú pháp như sau với thuộc tính src là đường dẫn tới file js chứa mã javascript.

HTML Code:

<html>

<head>

http://path/file.js

</head>

<body>

</body>

</html>

Biến và cách khai báo biến

Tên biến trong JavaScript phải bắt đầu bằng chữ hay dấu gạch dưới. Các chữ số không được sử dụng để mở đầu tên một biến nhưng có thể sử dụng sau ký tự đầu tiên.

Phạm vi của biến có thể là một trong hai kiểu sau:

Biến toàn cục: Có thể được truy cập từ bất kỳ đâu trong ứng dụng.được khai báo như sau :

x = 0;

Biến cục bộ: Chỉ được truy cập trong phạm vi chương trình mà nó khai báo. Biến cục bộ được khai báo trong một hàm với từ khoávarnhư sau:

var x = 0;

Biến toàn cục có thể sử dụng từ khoá var, tuy nhiên điều này không thực sự cần thiết.

Khác với C++ hay Java, JavaScript là ngôn ngữ có tính định kiểu thấp. Điều này có nghĩa là không phải chỉ ra kiểu dữ liệu khi khai báo biến. Kiểu dữ liệu được tự động chuyển thành kiểu phù hợp khi cần thiết.

Ví dụ file Variable.Html:

<HTML>

<HEAD>

<TITLE> Datatype Example </TITLE>

var fruit=’apples’;

var numfruit=12;

numfruit = numfruit + 20;

var temp =”There are ” + numfruit + ” ” + “.”;

document.write(temp);

</HEAD>

<BODY>

</BODY>

</HTML>

Các trình duyệt hỗ trợ JavaScript sẽ xử lý chính xác ví dụ trên và đưa ra kết quả dưới đây:

Hình 3.1: Kết qu ca x lý d liuTrình diễn dịch JavaScript sẽ xem biến numfruit có kiểu nguyên khi cộng với 20 và có kiểu chuỗi khi kết hợp với biển temp.

Trong JavaScript, có bốn kiểu dữ liệu sau đây: kiểu số nguyên, kiểu dấu phẩy động, kiểu logic và kiểu chuỗi.

KIểu nguyên (Interger)

Số nguyên có thể được biểu diễn theo ba cách

Hệ cơ số 10 (hệ thập phân) – có thể biểu diễn số nguyên theo cơ số 10, chú ý rằng chữ số đầu tiên phải khác 0.

Hệ cơ số 8 (hệ bát phân) – số nguyên có thể biểu diễn dưới dạng bát phân với chữ số đầu tiên là số 0.

Hệ cơ số 16 (hệ thập lục phân) – số nguyên có thể biểu diễn dưới dạng thập lục phân với hai chữ số đầu tiên là 0x.

Kiểu dấu phẩy động (Floating Point)

Một literal có kiểu dấu phẩy động có 4 thành phần sau:

Phần nguyên thập phân.

Dấu chấm thập phân (.).

Phần dư.

Phần mũ.

Để phân biệt kiểu dấu phẩy động với kiểu số nguyên, phải có ít nhất một chữ số theo sau dấu chấm hay E. Ví dụ:

9.87

-0.85E4

9.87E14

.98E-3

Kiểu logic (Boolean)

Kiểu logic được sử dụng để chỉ hai điều kiện : đúng hoặc sai. Miền giá trị của kiểu này chỉ có hai giá trị

true.

false.

Kiểu chuỗi (String)

Một literal kiểu chuỗi được biểu diễn bởi không hay nhiều ký tự được đặt trong cặp dấu ” … ” hay ‘… ‘. Ví dụ:

“The dog ran up the tree”

‘The dog barked’

“100”

Để biểu diễn dấu nháy kép ( ” ), trong chuỗi sử dụng ( \” ), ví dụ:

document.write(“ \”This text inside quotes.\” ”);

Cú pháp khai báo biến

var test ;

test = “hi”;

var age = 22;

Với javascript, kiểu dữ liệu chúng ta không cần phải khai báo tường minh, trình biên dịch sẽ tự động hiểu biến test là kiểu chuỗi, còn age là kiểu số nguyên.

2. Các kiểu dữ liệu

Trong javascript có 2 kiểu dữ liệu : primitive type và reference type

Primitive type là những kiểu dữ liệu cơ bản của javascript như : boolean, number, string , null.

Reference type là những lớp được hỗ trợ trong javascript như : Number, String, Date , Array, Object, Function ..

Điều khiển rẽ nhánh trong javascript

Rẽ nhánh theo điều kiện với if … else

Cú pháp if … else dùng trong trường hợp muốn rẽ nhánh theo điều kiện. Cú pháp này tương đương với nếu x thì làm y, còn nếu không thì làm z. Các câu lệnh if … else có thể lồng trong nhau.

Cú pháp:

if (biểu_thức_1)

{

  khối lệnh được thực hiện nếu biểu thức 1 đúng;

}

else if (biểu_thức_2)

{

khối lệnh được thực hiện nếu biểu thức 2 đúng;

}

else

{

khối lệnh được thực hiện nếu cả hai biểu thức trên đều không đúng;

}

Ví dụ:

    var x = prompt(“Nhập vào giá trị của x:”);    x = parseFloat(x);    if (!isNaN(x)) {        if (x > 0)        {

            alert(“x > 0”);        }

        else if (x == 0)        {

            alert(“x = 0”);        }        else

        {            alert(“x

Đoạn mã nguồn trên mở một hộp thoại yêu cầu nhập vào một giá trị số, sau đó hiển thị thông báo số đó lớn hơn 0, bằng 0 hay nhỏ hơn 0.

Toán tử điều kiện

Toán từ điều kiện còn được biết đến với tên gọi toán tử tam phân. Cú pháp của toán tử này như sau:

điều_kiện ? biểu_thức_đúng : biểu_thức_sai;

Toán tử này sẽ trả lại giá trị là kết quả của biểu_thức_đúng nếu điều_kiện có giá trị bool bằng true, ngược lại nó sẽ trả lại giá trị bằng biểu_thức_sai.

Cú pháp switch

Cú pháp switch cũng là cú pháp điều kiện như if … else hay toán tử tam phân. Tuy nhiên, cú pháp switch thường được dùng khi chỉ cần so sánh bằng với số lượng kết quả cần kiểm tra lớn. Cách sử dụng cú pháp switch:

Code

    switch (biểu_thức_điều_kiện)    {        case kết_quả_1 :            khối lệnh cần thực hiện néu biểu_thức_điều_kiện bằng kết_quả_1;

            break;        case kết_quả_2 :            khối lệnh cần thực hiện néu biểu_thức_điều_kiện bằng kết_quả_2;            break;        default :            khối lệnh cần thực hiện nếu biểu_thức_điều_kiện cho ra một kết quả khác;    }

Sau mỗi khối lệnh trong một mục kiểm tra kết quả (trừ mục default), lập trình viên cần phải thêm vào break.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s