Pernyataan fungsi bukan satu-satunya cara untuk mentakrifkan fungsi baharu, dan anda boleh mentakrifkan fungsi anda secara dinamik menggunakan pembina Function() menggunakan operator.
Nota: Ini adalah istilah untuk pengaturcaraan berorientasikan objek. Anda mungkin berasa agak tidak biasa dengannya pada kali pertama, tetapi tiada masalah di sini.
Tatabahasa
Berikut ialah sintaks untuk menggunakan operator baharu untuk mencipta pembina menggunakan Function().
<script type="text/javascript"> <!-- var variablename = new Function(Arg1, Arg2..., "Function Body"); //--> </script>
Pembina fungsi Function() menjangkakan sebarang bilangan parameter rentetan. Parameter terakhir ialah badan fungsi - ia boleh mengandungi penyataan JavaScript sewenang-wenangnya, dipisahkan antara satu sama lain dengan koma bertitik.
Sila ambil perhatian bahawa binaan Function() tidak melepasi sebarang parameter, nyatakan nama untuk mencipta fungsi untuknya. Fungsi tanpa nama yang dibuat menggunakan pembina Function() dipanggil fungsi tanpa nama.
Contoh:
Berikut ialah contoh mencipta fungsi:
<script type="text/javascript"> <!-- var func = new Function("x", "y", "return x*y;"); //--> </script>
Baris kod ini mencipta fungsi baharu yang lebih kurang sama dengan sintaks fungsi yang ditakrifkan:
<script type="text/javascript"> <!-- function f(x, y){ return x*y; } //--> </script>
Ini bermakna anda boleh memanggil fungsi di atas seperti berikut:
<script type="text/javascript"> <!-- func(10,20); // This will produce 200 //--> </script>