Function.eval() digunakan untuk mengevaluasi apa saja yang direpresentasikan di dalam parameter expression.
Sintaks:
- Di mana
expressionadalah ekspresi valid yang akan diperlakukan sebagai kode JavaScript oleh interpreter. Jika nilai parameterexpressionbukanlah string, maka itu yang akan dikembalikan. Sebagai contoh,eval(5)akan mengembalikan nilai 5. Jika nilai parameterexpressionadalah string, interpreter mencoba untuk menginterpretasikan string tersebut seolah-olah adalah kode JavaScript.
Function.eval() adalah fungsi standard JavaScript 1.0+, JScript 1.0+, ECMAScript 1.0+ dan didukung Google Chrome Beta+, Firefox 1.0 (Gecko 1.7)+, Internet Explorer 3+, Netscape Navigator 2.0+, Opera 3.0+, Safari 1.0+.
Misalkan saya mempunyai variabel myString seperti ini:
Jika saya mencoba menguji variabel di atas untuk banyaknya karakter di dalam tanda kutip dan tanpa melibatkan Function.eval(), maka string "(myString.length) == 5" yang akan dikembalikan:
Tetapi jika saya melibatkan Function.eval() untuk mengevaluasi ekspresi "(myString.length) == 5", maka nilai boolean true yang akan dikembalikan:
Nilai true dikembalikan, karena interpreter menganggap bahwa di atas adalah suatu kondisi (apakah banyaknya karakter dari variabel myString sebanyak 5) yang harus diuji kebenarannya dan tidak menganggap di atas adalah suatu string.
Contoh-contoh berikutnya anda perlu mencoba untuk memperhatikan output dari setiap ekspresi yang melibatkan Function.eval() dan yang tidak.
Berikut interpreter menganggap ekspresi "1 + 1" yang melibatkan Function.eval() adalah operasi tambah-tambahan, yaitu 1 ditambah 1 dan hasilnya adalah 2:
Contoh di bawah ini interpreter menganggap ekspresi 'myNum' yang melibatkan fungsi Function.eval() adalah perwakilan variabel yang harus ditampilkan nilainya:
Contoh di bawah ini interpreter menganggap ekspresi "document.write('Halo!')" yang melibatkan fungsi Function.eval() adalah perintah string 'Halo!' harus dituliskan ke halaman oleh metode write():