Lessons XII : [Javascript] Getting Random

[Javascript] Getting Random

Thứ sáu, 12 Tháng 9 2008 12:35 Vua_Do_Hoa Hướng dẫn lập trình Ajax-JavaScript
Email In

Cú pháp random() của đối tượng Math cho phép bạn lấy một giá trị số bất kì để sử dụng nhiều đoạn code khác nhau. Bạn có thể thiết lập một trích dẫn bất kỳ hoặc có một cái đánh mấy random.

Chỉ có một cách để biết được làm thế nào để lấy một giá trị số random trong giới hạn mà bạn đưa ra, và lấy một giá trị nguyên.

Bình thường, hàm random trả về một số bất kỳ trong phạm vi từ 0 đến 1. Cách này thì không thực sự hữu ích cho lắm.
Nếu như bạn làm như thế này

<form>
<input value="Ugly Numbers!" onclick="alert(Math.random())" type="button">
</form>

Khi bạn nhấn vào Button đó thì một giá trị dài ngoằn sẽ trả về cho bạn thông qua thông báo alert(). Ôi như thế thì mệt lắm…
In that state, you can’t really do anything with the number. We want to have an integer between zero and a set number. The first step to fixing this is using multiplication. If you want a number between zero and 4 (5 random numbers), multiply the result of the Math.random() function by 5:

Lúc này, bạn thật sự không thể làm bất cứ thứ gì với những con số này. Vì vậy chúng ta muốn có một số nguyên được trả về từ lệnh random trong khoảng từ số 0 đến một số nào đó.
Và đây rồi… đầu tiên nếu ta muốn sửa nó thì ta phải dùng phép tính nhân (X). Nếu bạn muốn một số từ 0 đến 4 ( Là 5 giá trị random). Lấy kết quả của đối tượng Math.random() nhân lên cho 5:

var ran_number= Math.random()*5;

Bây giờ thì giá trị có cao hơn nhưng vẫn không phải là số nguyên ,

Điều chúng ta cần bây giờ là làm sao để có thể random trả về một giá trị nguyên.
Vì thế ta phải làm tiếp bước tiếp theo để hoàn tất việt đó là lấy một số random nào đó.
Để bỏ bớt mấy cái đuôi số rắc rối phía sau và chỉ lấy số nguyên, chúng ta sử dụng đối tượng Math.floor() (Cách này giúp xóa đi mọi thứ phía sau một số, nghĩa là giờ có thể lấy số nguyên rồi…) để cho kết quả.
Cách nhanh nhất để thực thi lệnh này là đặc ngay lệnh Math.random()*5 vào trong Math.floor() như là một thông số:

var ran_number=Math.floor(Math.random()*5);

Bạn cũng có thể làm như bên dưới này:

var ran_unrounded=Math.random()*5;

var ran_number=Math.floor(ran_unrounded);

Giờ, Hãy thử chép lệnh này vào trang của bạn. Sau đó nhấn nút và sẽ nhìn thấy nhưng con số đẹp:

<form>
<input value="Nice Numbers!" onclick="alert(Math.floor(Math.random()*5))" type="button">
</form>

Bây giờ ta sẽ thử làm một vài thứ với kết quả mà ta vùa đạt được nhé.
Giờ bạn hãy nhớ lại Một vài điều về Array(mảng) xem nào.
Bạn có thể xem ở Quyển Ebook mà tôi đã gữi đấy… Trong đó có nới sơ qua về Array.

Bây giờ, có thể bắt đầu.
Đầu tiên có thể bắt đầu với một mảng mang giá trị 0 như thế này

array_name[0];

Giờ chúng ta làm trực tiếp luôn nhé.

Công việc phải làm là tạo ra một biến với 5 mảng, sau đó dùng lệnh Math.random() để giúp hiển thị random 5 mảng. Nói hơi khó hiểu, ta hãy làm vậy

<HEAD>
 <SCRIPT language="JavaScript">
<!--
function get_random()
{
    var ranNum= Math.floor(Math.random()*5);
    return ranNum;
}

function getaQuote()
{
   var whichQuote=get_random();

    var quote=new Array(5)
     quote[0]="I love JavaScript..sometimes.";
     quote[1]="Why are you pushing my button?";
     quote[2]="The button you pushed can\'t push you back. You bully, you!";  
     quote[3]="This alert is here to inform you that alerts are annoying.";
     quote[4]="Which came first, the button or the alert?";

   alert(quote[whichQuote]);
  }
//-->
</SCRIPT>
</HEAD>

<BODY>
<FORM name="form1">
<INPUT TYPE="button" value="Get a Quote!" onClick="getaQuote()">
</FORM>  
</BODY>

Tương tự hãy đánh đoạn mã này vào các bạn nhé. Sẽ thấy ngay ấy mà.

Ngoài cách làm như trên, bạn cũng có thể thây Math.random()*5 = Math.random()*10 , 20 hay 100 để cho giá trị random sẽ đi thì 0 – 10 , 20 hay 100…

Posted by Vua_Do_Hoa – Hoclaptrinh.vn

Comments (1)add comment

Vua_Do_Hoa said:

Mình có một bài tập nhỏ nhỏ… các bạn xem thử nếu ưng thì làm và gữi lên trang này để các bạn khác tham khảo.

Tạo một button với tên “Tuỳ Chỉnh”. Một khung text

Rồi, công việc phải làm là khi ta nhấn vào nút đó thì sẽ xuất hiện ra một bản thông báo bất kì buộc mình nhập vào dạng

window.prompt()

Khi ta nhập xong rồi thì thông tin vừa được nhập sẽ xuất hiện vào khung text bên dưới

— Các thông tin Random cần nhập như :
++Bạn tên gì ? [0]
++Bạn có yêu thích thể thao không? [1]
++Bạn có đam mê tin học không [2]
++Bạn thường làm gì khi rỗi [3]

_____________________________________
|Các câu hỏi trên chỉ mang tính minh hoạ|

report abuse
vote down
vote up
Tháng chín 12, 2008
Votes: -2

Write comment
  1. Leave a comment

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

%d bloggers like this: