2013-07-23 17 views
6

Başka birinin kodunu arıyorum ve anlamaya çalışıyorum. Onlar parantez içinde çevrili bir işlev çağrısı adı var:İşlev adını çevreleyen parantezler ne anlama geliyor?

myButton.onclick = (myFunction)(a, b, c); 

bu farklı mı daha:

myButton.onclick = myFunction(a, b, c); 

düzenleme:

Sadece daha içerik eklemek, fonksiyon myFunction aşağıdaki forma sahiptir:

+5

U parantez doğru mu? – aaronman

+3

Çağrılan şey, işlev adını çevreleyen '()' nin dönüş değeri olacaktır. Örneğinizde herhangi bir etkiye sahip olmayacak, ancak bir nesneyi * nesneden alıyorsanız (aka bir yöntem) *. Bu durumda, işlev nesneden ayrılır, böylece 'bu' değeri varsayılan değer olacaktır. Yani foo.myFunction() 'muhtemelen (foo.myFunction)()' dan farklıdır. –

+3

Köşeli parantezler: '[]', Kıvrımlı parantez/parantezler: '{}', Köşeli parantezler: '< >', Parentez: '()'. – Shaz

cevap

3

Fark yoktur.

Aynı şeyi yapıyorlar ve kastediyorlar.