Bài viết đăng tại: https://laptrinhcanban.com
Hướng dẫn cách sử dụng hàm eval trong javascript. Bạn sẽ học được cách sử dụng hàm eval để thực thi các lệnh JavaScript được miêu tả trong một chuỗi sau bài học này.
Hàm eval trong Javascript
Hàm eval trong Javascript là một hàm glocal có tác dụng thực thi các lệnh JavaScript được miêu tả trong một chuỗi.
Việc sử dụng hàm eval cực kỳ nguy hiểm vì các hacker có thể lợi dụng nó để chạy các dòng lệnh tấn công web được viết dưới dạng chuỗi và truyền vào hàm eval. Vì thế hàm eval được khuyến khích là không nên dùng.
Chúng ta sử dụng hàm eval trong JavaScript với cú pháp sau đây:
eval(string);
Trong đó string là chuỗi ký tự chứa các dòng code JavaScript cần thực thi.
Hàm eval sẽ đánh giá các dòng code được viết trong đối số tring, thực hiện các lệnh và trả về các kết quả sau khi chạy các lệnh đó. Trong trường hợp không có kết quả trả về thì giá trị undefined sẽ được trả về.
Ví dụ cụ thể, chúng ta viết các lệnh code vào String và thực hiện nó thông qua hàm eval như sau:
let str = 'x * y + 10'; |
Trong ví dụ này, lệnh tính toán số học được viết trong chuỗi str sẽ được thực thi, và kết quả trả về được gán vào biến z như trên.
Hãy cùng xem một ví dụ khác:
let str = 'z = x * y + 10;console.log(z)'; |
Ví dụ thứ 2 này thì khác một chút, đó là ngoài việc thực hiện tính toán số học thì chúng ta đã viết luôn cả hàm in kết quả ra trong chuỗi str.
Chú ý khi dùng hàm eval trong Javascript
Giống như đã phân tích ở trên thì hàm eval có tác dụng thực hiện các lệnh JavaScript được viết trong một chuỗi. Do vậy sẽ rất là nguy hiểm nếu chúng ta nhận một chuỗi được viết bởi người dùng khác, rồi chuyển nó vào hàm eval, bởi vì sẽ có khả năng người dùng đó viết các lệnh xấu nhằm tấn công chương trình vào chuỗi, và thực thi nó thông qua eval.
Do tốc độ xử lý của hàm eval cũng không thực sự nhanh, và cũng có các phương pháp khác thay thế cho nó, nên hiện nay hầu như chúng ta không còn sử dụng đến hàm này nữa.
Tuy nhiên trong trường hợp bắt buộc cần phải dùng tới hàm eval, hãy chú ý đến vấn đề an toàn bảo mật mà Kiyoshi đã nêu ở trên nhé.
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn về cách sử dụng hàm eval trong JavaScript rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.
URL Link
HOME › học javascript - lập trình javascript cơ bản>>11. global function trong javascript