Saya baru-baru ini membandingkan versi json2.js saat ini dengan versi yang saya miliki di proyek saya dan melihat perbedaan dalam cara ekspresi fungsi dibuat dan dijalankan sendiri.
Kode yang digunakan untuk membungkus fungsi anonim dalam tanda kurung dan kemudian menjalankannya,
(function () {
// code here
})();
tapi sekarang ini membungkus fungsi yang dieksekusi secara otomatis dalam tanda kurung.
(function () {
// code here
}());
Ada komentar dari CMS dalam jawaban yang diterima dari Jelaskan sintaks fungsi anonim yang dienkapsulasi JavaScript bahwa "keduanya: (function(){})();
dan (function(){}());
valid."
Saya bertanya-tanya apa bedanya? Apakah yang pertama mengambil memori dengan meninggalkan fungsi global dan anonim? Di mana lokasi tanda kurung?