WELCOME TO BLOGGER VQGĐC

THÂN CHÀO QUÝ BẠN
CLICK HERE TO OPEN

Tất cả hình ảnh, những hoạt động cùng cơ sở Định Chuẩn rồi cũng cùng với thời gian rơi vào khoảng không
Nếu còn gì rớt lại chỉ là những tình cảm của những con người đã một thời làm việc chung dưới một mái nhà
mà nay đả tản mác khắp bốn phương trời
Ninh Vũ / Phòng Thí Nghiệm VQGĐC

Sunday, November 13, 2011

HOW TO USE JAVASCRIPT FUNCTION EVAL( )

Function eval( ) của javaScript dùng để làm công việc :” evaluating,executing a data structure and returning the result.”

Một data structure có thể là :*Toán cộng,trừ, nhân,chia hay một tập hộp tóan gồm nhiều cộng trừ nhân chia gọi tên chung là arithmetic expression .

* Một tập họp nhiều chữ chứa những mệnh lệnh viết theo code có tên gọi chung là string,codestring.

Lưu ý khi xử dụng eval() thì không cần phải call như những functions thông thường khác.

Thí dụ 1- Evaluating and returning arithmetic expression.

Mở Notepad.Trong script tags.

Nếu viết :

alert(eval(15*2)); // thì output là 30

Nếu viết :

alert(eval(4095-2100+50.555+(10/2))); // output là 2047.555

Thí dụ 2- Evaluating , executing a string and returning the result.

Hai thí dụ nầy cho thấy eval() function làm công vịêc của evaluatorexecutor

x=12 ;

alert(eval('x + 4' )); // evaluator,returns 16

x = 12;

eval(' y = x + 4;alert(y);' ); // executor,returns 16

a- Đối với string,nhớ phải viết string trong dấu ngoặc kép “ “ hay ngoặc đơn ‘ ‘ thì mới có kết quả.

Làm như vậy để cho eval() function evaluates những gì ở trong ngoặc đơn hay kép rôi returns the result or value.Nếu không có value to be returned thì eval() function returns the expression in executable form.

Nếu viết :

var x=10

var y=15

alert(eval( ‘x+y+25’ )) // thì output là 50

Nếu viết :

eval("a=2;b=10;alert(a+b);") thì output là 12

Nếu viết :

var x=17

var str="if(x==7){alert('y is 50');}else('y is 25');"

alert(eval(str)) ; // thì output là y is 25

Nếu viết :

var x=7

var str="if(x==7){alert('y is 50');}else('y is 25');"

alert(eval(str)) ; // thì output là y is 50undefined

Nếu viết :

var x=10

eval( "if(x==10){alert('Good morning')} else alert(' hello' )" ) // output là Good morning

Nếu viết :

var x="bonjour"

eval( "if(x==10){alert('Good morning')} else alert('hola' )" ) // output là hola.

Chúng ta thấy tất cả strings trên có chứa javaScript code nên đôi khi gọi string là codestring.

Khi nào eval() bỏ trống hoặc variable không có value hoặc element trong string không tìm thấy thì undefined xuất hiện

b- Đối với Boolean literals (true,false) thi không viết trong dấu ngoặc đơn hay kép.

myVar=eval(false);

alert(myVar); // output là false

Thí dụ 3- Đối với array literals gồm có nhiều elements khác nhau.

Phải viết những elements cách nhau bằng dấu phẩy và tất cả phải ở trong brackets

Nếu viết :

myVar=eval( ["dolphin","sharp","tuna","whale"] )

alert(myVar[3] ) // output là whale

eval() function chuyển đổi array thành executable code để chuyển cho variable myVar.Rồi alert viết ra kết quả của index số 3 là whale.

Theo qui định của javaScript, index đầu tiên gọi là 0,index thứ hai là 1,index thứ ba là 2,index thứ tứ là 3.

Thí dụ 4- Đối với string gồm nhiều expressions như sau đây.

Thì viết :

eval("alert(\"Hello Friend\");\alert(\"Bonjour Mon Ami\");\

alert(\"Hola Amigo\");\alert(\"Chào Bạn\");\alert(\"How Are You?\");\

alert(\"Comment Allez Vous?\")")

outputs lần lược xuất hiện : Hello Friend; Bonjour Mon Ami; Hola Amigo;Chào Bạn; How are you ?; Comment Allez Vous ?

Trong alert nhớ phải dùng dấu \” thay cho dấu ngoặc kép Mỗi expression phải cách nhau bằng dấu chấm phẩy.

Nếu tập họp quá dài cần xuống hàng thì phải viết thêm dấu nối \ goị là backslash rồi mới viết xuống hàng.

Nếu không làm đúng như hướng dẫn thì không có kết quả.

LÝ DO TẠI SAO RẤT NHIỀU PROGRAMMERS KINH NGHIỆM KHUYÊN KHÔNG NÊN XỬ DỤNG FUNCTION EVAL( )

Muốn biết rõ lý do cần phải trải qua thực tập.Trong những bài kế tiếp sau bài nầy sẽ có vài thí dụ chứng minh ý kiến của các programmers kinh nghiệm khi xử dụng eval() function như sau :

.Unsafe (security issues,security hole)

.slower than alternative methods