JAVASCRIPT LÀ
GÌ ? VIẾT VÀ CHO NÓ CHẠY NHƯ THẾ NÀO ?
JavaScript là programming language dùng để viết
những programs từ đơn giản tới phức tạp trong computer cá nhân. Loại programs nầy
chỉ chạy được khi có sự nối kết
với Web browser mà thôi.
Computer cần phải có browser thì mới chạy được javaScript program vì browser có chứa engine có nhiệm vụ thông dịch và vận hành javaScript code (Engine interprets and executes javascript
code ).
Kỹ sư tóan học
Brendan
Eich sinh năm 1961 tại Pittsburgh, Philadelphia, USA là người phát minh javaScript vào tháng 5
năm 1995 tại công ty Netscape
Communications nơi ông đang phục vụ .
Brendan Eich dùng Netscape Navigator Browser chạy
trắc nghiệm phát minh của ông rồi lấy bằng sáng chế với cái tên là
LiveScript, sau đó đổi sang tên mới là javaScript.
Năm 1997 javascript được viết thành tiêu
chuẩn quốc tế ECMAScript.
Muốn viết javaScript
program cần phải có:
Computer phải có Notepad
Computer phải có browser
Phải biết syntax của
javaScript.
* Syntax là qui luật hướng dẫn cách viết javaScript để browser có
thể thông dịch và vận hành.( Syntax
is a set of rules determing the way to write the code that will be interpreted
and executed by the browser.)
JavaScript xử dụng hầu hết syntax
của programming C, Java và Perl.
* Khi chúng ta chưa biết gì về
programming C, Java và Perl
thì mở xem tiêu chuẩn ECMAScript.
Trong javaScriptt tất cả mọi thứ nếu có tên
đều được gọi bằng một tên chung là object.
Mỗi object có property và có method.
Thí dụ xe hơi có màu xanh. Xe hơi là object. Màu xanh là property.
Lái xe, thắng xe là methods.
Khi xử dụng javasScript, chúng ta dùng methods để tiếp cận và
điều khiển objects (access to objects and perform them.) tuỳ ý.
VIẾT MỘT SỐ JAVASCRIPT PROGRAMS
1 - Vài qui tắc căn bản cần biết khi viết JavaScript Programs
Function definition còn được gọi là function declaration phải có đủ các điều kiện kê sau.
Chữ function bắt buộc phải viết đúng như vậy còn tên của nó thì tuỳ ý chúng ta chọn.
Những arguments phải được bọc trong parenthesis
Không có khoảng cách giữa tên của function với dấu parenthesis ( )
Statement là standalone element nhỏ nhất của ngôn ngữ Javascript.
Function phải có một block trong đó có nhiều statements.
Trong statement chúng ta có thể viết variables,strings,numbers,expressions
Mỗi statement được viết riêng trong một hàng hoặc trong nhiều hàng được bọc trong dấu parenthesis ( ) và được kết thúc bằng dấu chấm phẩy.
Không có khỏang cách giữa dấu ) right parenthesis với dấu { left curly brace khi bắt đầu viết statement.
Dấu } right curly brace của function phải viết cùng một cột với chữ f của function.
Có thể viết nhiều statements trên cùng một hàng nhưng phải ngăn cách bởi dấu chấm phẩy.
Block được bọc trong dấu curly braces { } nhưng không có dấu chấm phẩy sau cùng.
Block được xử dụng như một single statement.(Treated as a single statement)
Những statements phía dưới function vì nằm ngoài block nên không thuộc sự vận hành của function.
2 - Cũng cần nên biết cách xử dụng những JavaScript Statements có tên sau đây trước khi viết JavaSript programs vì phải dùng đến :
break, const, continue, debugger, do…while, export, for, for…in, for each …in, function, if…else, import, label, return, switch…case, this, throw, try… catch, var, while, with.
-------------------------------
SOME EXAMPLES OF SIMPLE JAVASCRIPT PROGRAMS
Thí dụ 1 . Xử dụng statement return
Có 2 lý do chúng ta phải xử dụng return.
* Muốn function returns kết quả.Thí dụ A
* Muốn ngưng vận hành các statements còn lại khi return vận hành.Thí dụ B.
Nghĩa là khi return vận hành thì function returns ngay kết quả và các statements còn sót lại không vận hành.
Trong thí dụ trên, dùng variable value (3, 21) để call function toancong(x, y)
Function theo mệnh lệnh của var cong = x+y , liền return value cộng để chứa trong var ketqua.
alert (ketqua) cho output 24 .
Như vậy chữ return luôn luôn phải có một expression đi theo..Expression nầy là value mà chúng ta muốn function phải return rồi tồn trử trong var ketqua.
Nếu không có expression thì alert () sẽ cho undefined
Thí dụ B
Chúng ta chú ý thí dụ đơn giản nầy.Trong script nầy có 2 popups alert() .
alert(‘Hello Friends.’) và alert(‘How are you.?’)
Nếu chúng ta viết chữ return dưới alert(‘Hello Friends.’) thì alert(‘How are you.?’)
không xuất hiện vì return chận lại.
Xóa bỏ chữ return thì alert thứ hai xuất hiện.
function test(){
alert('Hello friends.');
return;
alert('How are you.?');
}
test();
Thí dụ 2 – Viết program đổi tiền Japanese Yen ra tiền US Dollar.
Trong script nầy chúng ta muốn dừng chỗ nào thì viết return chỗ đó.
Thí dụ chúng ta muốn đổi số tiền 5241 Japanese Yen ra tiền US Dollar.
Hiện nay 100 Yen tương đương với 1 US Dollar. Nếu có ít hơn hay bằng 45 Yen thì chúng ta không cần đổi nữa nên viết return 0 .
Nếu không muốn lấy tiền lẽ nặng túi thì dùng parseInt() loại bỏ số lẽ.
var yen = 5241;
function yentoDol(yen){
if (yen <=45) // nêu ít hơn hoặc bằng 45 Yen thì bỏ đi
return 0;
else {
var dol = yen/ 100;
return parseInt(dol);}
}
var dol = yentoDol(yen);
alert("The value in dol is " + dol); // output 52 vì dùng parseInt() loại bỏ số lẽ.
Thí dụ 3 - JavaScript program có xử dụng nested function và return statement.
function() chứa trong function() gọi JavaScript nested function
Xem function inner( ) là một variable object . Dùng return để call function nầy.
Nếu không call sẽ bị undefined.
Viết javaScript program dùng nested function và return statement.
Nested function còn gọi function inside function.
Nested function có thể xử dụng variables của outer function nhưng outer function không thể xử dụng variables của nested function..Đó là một lý do có nhiều người thích dùng nested function để viết JavaScript program như thí dụ nầy.
Đây là một JavaScript program viết cho tờ biên nhận ( receipt ) của một cữa hàng bán mè xững Huế tại thành phố Huế VN.
Đây là một JavaScript program viết cho tờ biên nhận ( receipt ) của một cữa hàng bán mè xững Huế tại thành phố Huế VN.
Chúng ta có thể đem hết các variables của function inner() đặt trong function outer() ngoại trừ
var total vì function inner() có thể access tất cả các variables và parameters của function outer().
function outer(x1, x2, x3, x4) {
var str1= '100g meXung';
var unitprice = 1.99;
var quantity = parseInt(prompt('Bạn muốn mua bao nhiêu kẹo mè xửng?'));
var currency= 'USD';
function inner(x3, x4) {
var total = parseFloat(x2*x3);
return('Tên món hàng'+':'+ str1 +'\n'
+'Giá đơn vị'+':'+ unitprice +'\n'
+ 'Số lượng'+':'+ quantity +'\n'
+'Tổng cộng'+':'+ total +' '+ currency);
}
return inner(quantity,'USD')// phải call inner thì function mới vận hành.
}
alert(outer('100g meXung', 1.99 ,'USD'))
var total vì function inner() có thể access tất cả các variables và parameters của function outer().
The nested function can access any variables and parameters of the outer function().
The outer function() cannot access the variables of the inner function (nested function).
var str1= '100g meXung';
var unitprice = 1.99;
var quantity = parseInt(prompt('Bạn muốn mua bao nhiêu kẹo mè xửng?'));
var currency= 'USD';
function inner(x3, x4) {
var total = parseFloat(x2*x3);
return('Tên món hàng'+':'+ str1 +'\n'
+'Giá đơn vị'+':'+ unitprice +'\n'
+ 'Số lượng'+':'+ quantity +'\n'
+'Tổng cộng'+':'+ total +' '+ currency);
}
return inner(quantity,'USD')// phải call inner thì function mới vận hành.
}
alert(outer('100g meXung', 1.99 ,'USD'))
Đây là receipt printout .