SORU
18 Kasım 2009, ÇARŞAMBA


Birden fazla sol JavaScript ile atama

var var1 = 1,
    var2 = 1,
    var3 = 1;

Bu da eşittir:

var var1 = var2 = var3 = 1;

Bu değişkenler tanımlanır emri olduğuna oldukça eminim: eşdeğer olacaktır var3, var2, var1:

var var3 = 1, var2 = var3, var1 = var2;

JavaScript ile bu onaylamak için herhangi bir yolu var mı? Bazı profiler muhtemelen.

CEVAP
18 Kasım 2009, ÇARŞAMBA


Aslında

var var1 = 1, var2 = 1, var3 = 1;

değileşdeğer:

var var1 = var2 = var3 = 1;

Fark kapsamda

function good() {
  var var1 = 1, var2 = 1, var3 = 1;
}

function bad() {
  var var1 = var2 = var3 = 1;
}

good();
alert(window.var2); // undefined

bad();
alert(window.var2); // 1. Aggh!

Aslında bu atama doğru ilişkili olduğunu gösterir. bad örnek eşdeğerdir:

var var1 = (window.var2 = (window.var3 = 1));

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • discokatze

    discokatze

    23 EYLÜL 2009
  • Floortile83

    Floortile83

    16 Ocak 2010
  • Google Analytics

    Google Analy

    25 ŞUBAT 2008