Bạn có nhớ những hàm tính toán không, giống như Math.sqrt() nên trong bài
Một số hàm hay dùng trong JavaScript
Bản thân các hàm này mang luôn một giá trị. Có nghĩa là ta có thể lấy ngay:5 + Math.sqrt(4)
//bằng mấy nhỉ
Các hàm từ trước tới giờ ta viết chỉ mới thực hiện hành động mà ta muốn, chứ chưa hề mang giá trị nào.
Để có thể gán cho hàm một giá trị ta dùng lệnh return.
Xét hàm đơn giản tính tồng và đưa ra màn hình hai số.
Mã nguồn:[Chọn]
<script language="javascript">
function tinhtong(a,b)
{
alert(a+b)
}
</script>
Dùng return cho hàm này:
Mã nguồn:[Chọn] function tinhtong(a,b)
{
var kq=a+b;
return kq;
}
</script>
Lúc này nếu bạn gọi hàm này một cách bình thường thì sẽ chả có gì sảy ra, nhưng hãy thử:
Mã nguồn:[Chọn]
alert(tinhtong(2,3));
Hoặc:
Mã nguồn:[Chọn]
alert(tinhtong(2,3)+tinhtong(3,7));
Bạn sẽ thấy lúc này của hàm đã được gán giá trị.
Ngoài ra ta cũng có thể gán cho nó những giá trị boolean, và dùng hàm làm điều kiện.
Xét đoạn code so sánh ba số người dùng nhập vào, nếu cả ba số bằng nhau thì thông báo"Đúng" ngược lại "Sai".
Đầu tiên sẽ là đoạn không dùng tới funtion
Mã nguồn:[Chọn]
<script language="javascript">
a=prompt("Số a","");
b=prompt("Số b","");
c=prompt("Số c","");
if((a==b)&&(a==c)&&(c==b))
{
alert("Đúng");
}else{
alert("Sai");
}
</script> Cũng công dụng tương tự, mình viết một chương trình dùng tới funtion:
Mã nguồn:[Chọn]
function vd2()
{
a=prompt("Số a","");
b=prompt("Số b","");
c=prompt("Số c","");
if((a==b)&&(a==c)&&(c==b))
{
return true;
}else{
return false;
}
}
Rồi ở bất kì đâu trên trương trình, bạn dùng một cấu trúc if:
Mã nguồn:[Chọn]
if(vd2())
{
alert("Đúng");
}else{
alert("Sai");
}
Lúc này hàm vd2() đã tính toán và gán cho chính nó một giá trị hoặc true hoặc false và có thể dùng làm điều kiện.
Thực tế việc return giá trị của một hàm về được ứng dụng rất nhiều, một trong số đó sẽ được nêu ra ở loạt bài về làm việc với form.