Aslında İyi Parçalardan biri olan bir JSLint seçeneği vardır, "acil çağrıların etrafına parantezler [gerektirir]", yani yapı
(function () {
// ...
})();
bunun yerine şöyle yazılması gerekir
(function () {
// ...
}());
Sorum şu - bu ikinci formun neden daha iyi kabul edilebileceğini kimse açıklayabilir mi? Daha dayanıklı mı? Daha az hata eğilimli? İlk forma göre ne gibi bir avantajı var?
Bu soruyu sorduğumdan beri, fonksiyon değerleri ile fonksiyonların değerleri arasında net bir görsel ayrım yapmanın önemini anladım. Anında çağrılmanın sonucunun bir atama ifadesinin sağ tarafı olduğu durumu düşünün:
var someVar = (function () {
// ...
}());
En dış parantezler sözdizimsel gereksizdir rağmen, açma parantez atanan değer olduğu bir yukarı-ön göstergesidir verir değil işlevi kendisini değil işlevinin sonucu olarak çağrı yapılmaktadır.
Bu, Crockford'un yapıcı işlevlerinin büyük harf kullanımına ilişkin tavsiyesine benzer - kaynak koduna bakan herkese görsel bir ipucu olarak hizmet etmesi amaçlanmıştır.