SORU
8 ŞUBAT 2012, ÇARŞAMBA


Başka bir dil JavaScript dışında ayracı başlangıç konumu arasındaki fark (aynı satır ve bir sonraki satır) var mı?

Rastgele JavaScript kalıpları O'Reilly kitap okurken ben, bugün, ilginç bir şey (referans için sayfa 27) buldum.

Bazı durumlarda Javascript, eğer ayracı başlangıç konumu farklı ise bir fark yoktur.

function test_function1() {
    return
    {
        name: 'rajat'
    };
}

var obj = test_function1();
alert(obj);  //Shows "undefined"

Süre

function test_function2() {
    return {
        name: 'rajat'
    };
}

var obj = test_function2();
alert(obj); //Shows object

JSfiddle Demo

Böyle bir davranış var orada başka bir dil mi? Eğer öyleyse, o zaman kesinlikle..:) benim için bir alışkanlık değiştirmek zorunda kalacak

PHP, C, C , Java, ruby ve esas hakkında endişe duyuyorum.

CEVAP
8 ŞUBAT 2012, ÇARŞAMBA


Herhangi birnoktalı virgül (ama yerine yeni satır) ifadeleri sınırlandırmak için güvenmez dil potansiyel olarak bu sağlar. DüşününPython:

>>> def foo():
...   return
...   { 1: 2 }
... 
>>> def bar():
...   return { 1: 2 }
... 
>>> foo()
>>> bar()
{1: 2}

Benzer bir durumda inşa etmek mümkün olabilirVisual Basicama kafamın üst kapalı VB değerler yerleştirilebilir oldukça kısıtlayıcı olduğu için nasıl olduğunu çözemedim. Ama şu statik analiz ulaşılamaz kod şikayetçi olmadığı sürece çalışması gerekir:

Try
    Throw New Exception()
Catch ex As Exception
    Throw ex.GetBaseException()
End Try

' versus

Try
    Throw New Exception()
Catch ex As Exception
    Throw
    ex.GetBaseException()
End Try

Bahsettiğiniz dillerden,Rubyaynı özellik vardır. PHP, C, C ve Java sadece yeni satır boşluk olarak atın çünkü noktalı virgül ifadeleri sınırlandırmak için gerektirmez.

İşte Ruby Python örnek kod: eşdeğer

>> def foo
>>   return { 1 => 2 }
>> end
=> nil
>> def bar
>>   return
>>   { 1 => 2 }
>> end
=> nil
>> foo
=> {1=>2}
>> bar
=> nil

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jose LviS el Bambino ( JLB )   LviSito

    Jose LviS el

    3 ŞUBAT 2008
  • DJAndrewRyan

    DJAndrewRyan

    22 Ocak 2007
  • ThreadBanger

    ThreadBanger

    2 Mart 2007