Phương thức eval trong JavaScript là gì

Phương thức eval trong JavaScript là gì?

Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu về Phương thức eval trong JavaScript là gì? Công dụng của phương thức eval trong JavaScript cũng như một số lưu ý tại sao không nên dùng phương thức eval trong JavaScript.

Phương thức eval trong JavaScript là gì?

Phương thức eval() là một hàm global trong JavaScript, thực hiện nhiệm vụ ghi nhận một chuỗi được chỉ định dưới dạng mã JavaScript và thực thi nó.

Cú pháp: eval(string)

Trong đó:

  • string có thể là 1 biểu thức toán học hoặc là các câu lệnh JavaScript.
eval("alert('this is executed by eval()')");
Code language: JavaScript (javascript)

hoặc

Phương thức eval trong JavaScript là gì
var content = ' 4 + 5 = ' + eval('4 + 5') + '<br>';
                content = content + ' 4 x 5 = ' + eval('4 * 5') + '<br>';
                content = content + ' 4 - 5 = ' + eval('4 - 5') + '<br>';
                content = content + ' 4 : 5 = ' + eval('4 / 5') + '<br>';
                document.getElementById("demo").innerHTML = content;Code language: JavaScript (javascript)

Kết quả:

4 + 5 = 9
4 x 5 = 20
4 - 5 = -1
4 : 5 = 0.8

Phương thức eval() cũng có thể gọi hàm và nhận kết quả như đoạn code bên dưới.

var result;

function Sum(val1, val2)
{
    return val1 + val2;
}

eval("result = Sum(5, 5);");

alert(result);Code language: JavaScript (javascript)

Phương thức eval() có thể chuyển đổi chuỗi thành đối tượng JSON.

var str = '({"firstName":"Bill","lastName":"Gates"})';

var obj = eval(str);

obj.firstName; // Bill Code language: JavaScript (javascript)

Lưu ý

Không nên sử dụng phương thức eval() vì nó chậm, không an toàn và làm cho mã không thể đọc được và không thể bảo trì được.

Cảm ơn bạn đã theo dõi bài viết!

Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU

KHOÁ HỌC BOOTCAMP JAVA/JAVASCRIPT/PHP TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG

Bình luận